链接的概念
什么是硬链接?
什么是软链接?
创建硬链接 ls 源 目标文件
创建软链接 ls -s 源 目标文件(目标文件不能事先存在)
硬链接知识总结:
1、inode节点号相同的两个或多个文件互为硬链接
2、删除硬链接文件或者删除源文件,文件实体并未被删除
3、只有硬链接和源文件都被删除,文件才被删除
4、当所有的硬链接文及源文件都被删除时,再存放新数据占用空间或磁盘fsck检查的时候,删除的数据文件的空间被系统收回
5、硬链接是文件的另一个入口
6、可以通过给文件设置硬链接,防止重要的文件被删除
7、创建硬链接 ln 源 目标
8、可用rm命令删除硬链接
9、当硬链接的数量为0时,文件被删除了
/zmg和xwj.txt互为硬链接文件,两个文件的inode节点号相同
[root@xwj ~]# ll -i /zmg xwj.txt
655375 -rw-r--r-- 2 root root 41 Sep 20 2018 xwj.txt
655375 -rw-r--r-- 2 root root 41 Sep 20 2018 /zmg
删掉源文件,使用硬链接依然可以查看文件,inode节点数量减一
[root@xwj ~]# rm -f xwj.txt
[root@xwj ~]# cat /zmg
bj1
bj2
bj3
bj4
bj5
bj6
bj7
bj8
bj9
bj10
[root@xwj ~]# ll /zmg
-rw-r--r-- 1 root root 41 Sep 20 2018 /zmg
[root@xwj ~]#
软链接知识总结:
1、软链接相当于Windows的快捷方式
2、软链接block存放的数据内容是源文件的路径
3、软链接和源文件的inode节点号不相同
4、删除软链接的源文件,文件就被删除了
有关文件的链接小结:
可以给文件创建软链接,也可以给文件创建硬链接
有关目录的链接小结:
1、不能给目录创建硬链接,只能给文件创建硬链接
[root@xwj ~]# mkdir xwj
[root@xwj ~]# ln -s xwj/ soft
[root@xwj ~]# ln xwj/ hard
ln: `xwj/': hard link not allowed for directory
[root@xwj ~]#
2、目录的硬链接不能跨越文件系统
3、每个目录下面都有一个硬链接 “.”,当前目录的上一个目录的硬链接“..”
面试题:
Linux下通过mkdir命令创建一个新目录 /xwj/zmg,/xwj/zmg的硬链接数是多少?(答案:2),如果再在zmg下创建一个目录test,/xwj/zmg的硬链接数是多少?(答案:3)
[root@xwj ~]# ls -ld /xwj/zmg
drwxr-xr-x 2 root root 4096 Sep 6 20:37 /xwj/zmg
[root@xwj ~]# mkdir /xwj/zmg/test
[root@xwj ~]# ls -ld /xwj/zmg
drwxr-xr-x 3 root root 4096 Sep 6 20:37 /xwj/zmg
硬链接数为什么是3
1、/xwj/zmg本身的inode
2、/xwj/zmg/.
3、/xwj/zmg/test/..
[root@xwj ~]# ls -ild /xwj/zmg
393218 drwxr-xr-x 3 root root 4096 Sep 6 20:37 /xwj/zmg
[root@xwj ~]# ls -ild /xwj/zmg/.
393218 drwxr-xr-x 3 root root 4096 Sep 6 20:37 /xwj/zmg/.
[root@xwj ~]# ls -ild /xwj/zmg/test/..
393218 drwxr-xr-x 3 root root 4096 Sep 6 20:37 /xwj/zmg/test/..