linux自学
Linux文件与目录管理
所有不太会的命令,可以用man +命令,查看相关解释文档
绝对路径:从根路径写起的路径,/usr/local
相对路径:例如:路径a:~/demo/test 路径b: ~/demo/test2,在路径a下,想直接进入路径b时, 输入:cd../test2即可
ls:列出目录:常用 ls -al
cd:切换目录(常用 cd~,cd..,cd\,等等)
pwd:显示目前所在的目录(-p,显示出确实的路径,而非连结的路径)
创建一个文件或者目录,都需要有个地方来储存文件的信息(创建者,时间等),这个区域叫做“inode”,即索引节点。
在硬盘上,同一个文件可以通过并不同的路径来访问它。
硬连接:一般情况下,一个文件名对一个inode,但linux允许多个文件名对应同一个inode,也就是说可以通过不同的文件名可以访问同一个内容,删除一个文件名不影响其他文件名的访问
软连接(符号连接):若文件(目录)A是文件(目录)B的软连接,A的内容是B的路径,相当于A是B的快捷方式,当删除A时,不影响B的访问;当删除B时,就会报错
这也就解释了,pwd是目前路径,加上 -p后是确实路径
实验一下:
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
[oracle@Linux]$ echo "I am f1 file" >>f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm -f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory
通过上面的测试可以看出:当删除原始文件 f1 后,硬连接 f2 不受影响,但是符号连接 f1 文件无效
依此您可以做一些相关的测试,可以得到以下全部结论:
- 1).删除符号连接f3,对f1,f2无影响;
- 2).删除硬连接f2,对f1,f3也无影响;
- 3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
- 4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除
mkdir:创建新目录
mkdir -m 目录名称:创建设定权限的目录,例如:mkdir -m 711 test
mkdir -p 将需要的目录递归创建起来,例如:mkdir -p test/test1/test2
rmdir:删除空的目录
rmdir -p 文件名,可以删除目录下有文件的目录
cp:复制文件或目录
cp -i /demo/temp/test.txt /demo/test/
rm:移除文件或者目录
rm -i 文件或目录,加i会询问
mv:移动文件或目录,或修改名称
mv ~/.bashrc mvtest
Linux文件查看
cat:从第一行开始显示文件内容
tac:倒着显示
nl:加上行号
more:支持一页一页翻动
less:类似more
head:取头几行(默认为10)
head -n 20 文件名(去前20行)
tail:去后几行,与head类似