1、本质
硬链接:本质是同一个文件
软链接:本质还是同一个文件
[root@CentOS8 data]# ln a.txt test/b.txt [root@CentOS8 data]# ll -i a.txt test/b.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 a.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 data]# ll -id /bin /usr/bin 83566 lrwxrwxrwx. 1 root root 7 May 11 2019 /bin -> usr/bin 142 dr-xr-xr-x. 2 root root 40960 Feb 19 11:21 /usr/bin
2、跨设备
硬链接:不支持
软链接:支持
[root@CentOS8 data]# ln a.txt test/b.txt [root@CentOS8 data]# ll -i a.txt test/b.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 a.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 data]# ln a.txt /b.txt ln: failed to create hard link '/b.txt' => 'a.txt': Invalid cross-device link
3、inode
硬链接:相同
软链接:不同
[root@CentOS8 data]# ll -i a.txt test/b.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 a.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 data]# ll -id /bin /usr/bin 83566 lrwxrwxrwx. 1 root root 7 May 11 2019 /bin -> usr/bin 142 dr-xr-xr-x. 2 root root 40960 Feb 19 11:21 /usr/bin
4、链接数
硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数会减少。
软链接:创建或删除软链接,链接数不会变化。
[root@CentOS8 data]# ln a.txt test2/c.txt [root@CentOS8 data]# ll -i a.txt test/b.txt test2/c.txt 131 -rw-r--r--. 3 root root 0 Feb 25 11:14 a.txt 131 -rw-r--r--. 3 root root 0 Feb 25 11:14 test2/c.txt 131 -rw-r--r--. 3 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 data]# rm -f test/b.txt test2/c.txt [root@CentOS8 data]# ll -i a.txt 131 -rw-r--r--. 1 root root 0 Feb 25 11:14 a.txt [root@CentOS8 ~]# ln -s /usr/bin/ ../../root/binbak [root@CentOS8 ~]# ll -id /usr/bin /bin ~/binbak 83566 lrwxrwxrwx. 1 root root 7 May 11 2019 /bin -> usr/bin 201752138 lrwxrwxrwx. 1 root root 9 Feb 25 12:56 /root/binbak -> /usr/bin/ 142 dr-xr-xr-x. 2 root root 40960 Feb 19 11:21 /usr/bin [root@CentOS8 ~]# rm -rf binbak [root@CentOS8 ~]# ll -id /usr/bin /bin 83566 lrwxrwxrwx. 1 root root 7 May 11 2019 /bin -> usr/bin 142 dr-xr-xr-x. 2 root root 40960 Feb 19 11:21 /usr/bin
5、文件夹
硬链接:不支持
软链接:支持
[root@CentOS8 ~]# ln /usr/bin/ binbak ln: /usr/bin/: hard link not allowed for directory [root@CentOS8 ~]# ln -s /usr/bin/ ../../root/binbak [root@CentOS8 ~]# ll -id ~/binbak 201752138 lrwxrwxrwx. 1 root root 9 Feb 25 12:56 /root/binbak -> /usr/bin/
6、相对路径
硬链接:原始文件相对路径是相对于当前工作目录
软链接:原始文件的相对路径是相对于链接文件的相对路径
[root@CentOS8 data]# ln a.txt ../data/test/b.txt [root@CentOS8 data]# ll -i test/b.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 ~]# ln -s /usr/bin/ ../../root/binbak [root@CentOS8 ~]# ll -id ~/binbak 201752138 lrwxrwxrwx. 1 root root 9 Feb 25 12:56 /root/binbak -> /usr/bin/
7、删除源文件
硬链接:只是链接数减一,但链接文件的访问不受影响
软链接:链接文件将无法访问
[root@CentOS8 data]# ll -i a.txt test/b.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 a.txt 131 -rw-r--r--. 2 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 data]# rm -f a.txt [root@CentOS8 data]# ll -i a.txt test/b.txt ls: cannot access 'a.txt': No such file or directory 131 -rw-r--r--. 1 root root 0 Feb 25 11:14 test/b.txt [root@CentOS8 data]# ln -s test/ ../../../data/testbak [root@CentOS8 data]# ll -i testbak 133 lrwxrwxrwx. 1 root root 5 Feb 25 13:14 testbak -> test/ [root@CentOS8 data]# rm -rf test [root@CentOS8 data]# ll -i testbak 133 lrwxrwxrwx. 1 root root 5 Feb 25 13:14 testbak -> test/ [root@CentOS8 data]# cd testbak -bash: cd: testbak: No such file or directory
8、文件类型
硬链接:和源文件相同
软链接:链接文件,和源文件无关
[root@CentOS8 data]# ln a.txt test2/c.txt [root@CentOS8 data]# ll !* ll a.txt test2/c.txt -rw-r--r--. 2 root root 0 Feb 25 13:22 a.txt -rw-r--r--. 2 root root 0 Feb 25 13:22 test2/c.txt
[root@CentOS8 data]# ll -id /usr/bin/ /bin 83566 lrwxrwxrwx. 1 root root 7 May 11 2019 /bin -> usr/bin 142 dr-xr-xr-x. 2 root root 40960 Feb 19 11:21 /usr/bin/