硬链接
- 文件有相同的inode及data block
- 只能对已存在的文件进行创建
- 不能跨分区创建硬链接
- 不能对目录进行创建,只可对文件创建
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件
软链接
1.软链接有自己的文件属性及权限等
2.可对不存在的文件或目录创建软链接
3.软链接可跨分区创建
4.软链接可对文件或目录创建
5.创建软链接时,链接计数不会增加
6.删除软链接并不影响被指向的文件,但是被指向的原文件被删除,则相关软链接被称为死链接
若被指向路径文件被重新创建,死链接可以恢复为正常的软链接。
硬链接实例演示:
[root@CentOS7 data]# touch 1.txt 创建文件
[root@CentOS7 data]# ls
1.txt
[root@CentOS7 data]# ls -li 查看inode号
total 0
67 -rw-r–r--. 1 root root 0 Aug 16 00:35 1.txt
[root@CentOS7 data]# ln 1.txt t.txt 创建硬链接
[root@CentOS7 data]# ls 查看
1.txt t.txt
[root@CentOS7 data]# ls -li
total 0
67 -rw-r–r--. 2 root root 0 Aug 16 00:35 1.txt
67 -rw-r–r--. 2 root root 0 Aug 16 00:35 t.txt
硬链接的inode号没有改变
[root@CentOS7 data]# echo 123456789 >1.txt
写入数据
[root@CentOS7 data]# cat 1.txt
123456789
[root@CentOS7 data]# cat t.txt
123456789
[root@CentOS7 data]# ls -li
total 8
67 -rw-r–r--. 2 root root 10 Aug 16 00:39 1.txt
67 -rw-r–r--. 2 root root 10 Aug 16 00:39 t.txt
硬链接的数据是一样的
[root@CentOS7 data]# rm -f t.txt 删除硬链接
[root@CentOS7 data]# ls -li
total 4
67 -rw-r–r--. 1 root root 10 Aug 16 00:39 1.txt
删除硬链接对inode号相同的文件没有影响。
软链接实例演示:
[root@CentOS7 data]# touch 2.txt 创建文件
[root@CentOS7 data]# ls 查看
2.txt
[root@CentOS7 data]# ln -s 2.txt t.txt.link
创建软链接t.txt.link
[root@CentOS7 data]# ls 查看
2.txt t.txt.link
[root@CentOS7 data]# ls -li 查看inode号增加
total 0
67 -rw-r–r--. 1 root root 0 Aug 16 00:55 2.txt
68 lrwxrwxrwx. 1 root root 5 Aug 16 00:56 t.txt.link -> 2.txt 软链接文件指向原文件
[root@CentOS7 data]# rm -f 2.txt 删除原文件
[root@CentOS7 data]# ls
t.txt.link
[root@CentOS7 data]# cat t.txt.link 查看软链接会报错,成为死链接
cat: t.txt.link: No such file or directory
[root@CentOS7 data]# touch 2.txt 恢复原文件软链接也会恢复正常
[root@CentOS7 data]# ls
2.txt t.txt.link
[root@CentOS7 data]# cat t.txt.link 不会报错
[root@CentOS7 data]#