软链接

相当于Windows中的快捷方式;
例如/bin 实际是/usr/bin
/bin -> usr/bin 这一行代表的是软链接(快捷方式)

[root@shu-test ~]# ls -l /bin
lrwxrwxrwx. 1 root root 7 11月  9 03:29 /bin -> usr/bin
[root@shu-test ~]#

创建软链接
格式:
ln -s [源文件目录] [软链接文件目录(快捷方式)]
例如:ln -s /usr/bin /bin
在当前目录创建一个软链接(快捷方式),源文件在/root/abc/1.txt

[root@shu-test xxx]# ln -s /root/abc/1.txt ./1.txt
[root@shu-test xxx]# ls -l
总用量 0
lrwxrwxrwx. 1 root root 15 12月 21 17:05 1.txt -> /root/abc/1.txt

删除源 软链接就会error
注意:创建软链接时尽量使用绝对路径


硬链接

复制文件,两个文件相互为硬链接,不管源与目的;删除源不受影响
不允许将硬链接指向目录
不能跨分区做硬链接;比如/boot下 无法做到/下

创建硬链接
格式:

ln [源文件路径][硬链接文件]
[root@shu-test b]# ln 2.txt 2_heard.txt
[root@shu-test b]# ls -l
总用量 12
lrwxrwxrwx. 1 root root  5 12月 21 17:25 1_sorft.txt -> 1.txt
-rwxr-xr-x. 1 root root 14 12月 21 17:24 1.txt
-rwxr-xr-x. 2 root root 14 12月 21 17:25 2_heard.txt
-rwxr-xr-x. 2 root root 14 12月 21 17:25 2.txt

实验:我们编辑2.txt文件,然后查看2_heard.txt文件会发现,2.txt的内容会同步到2_heard.txt文件里面
实验前:

[root@shu-test b]# cat 2_heard.txt
user01
user02
user3333
[root@shu-test b]# cat 2.txt
user01
user02
user3333
[root@shu-test b]#

追加字符串1111111111到2.txt中
[root@shu-test b]# echo 1111111111 >>2.txt
查询2.txt文件与2_heard.txt文件内容

[root@shu-test b]# cat 2.txt
user01
user02
user3333
1111111111
[root@shu-test b]# cat 2_heard.txt
user01
user02
user3333
1111111111
[root@shu-test b]#

硬链接的主要是存储在ilod号上;
ls -i
查询inum号发现:2.txt的inum号与2_heard.txt的inum号都是一个10292;

[root@shu-test b]# ls -i
10290 1_sorft.txt   10292 2_heard.txt
493722 1.txt         10292 2.txt
[root@shu-test b]#