ln命令
选项:
-s:建立软链接文件。如果不加“-s”选项,则建立硬链接文件
-f:强制。如果目标文件已存在,则删除目标文件后再建立链接文件
ln 选项 所创建链接文件 存储链接位置/链接名
1>创建两个硬链接
root@localhost san]# ln /root/anaconda-ks.cfg /home/san #此时没有声明所创建硬链接文件名,则文件名默认为被创建硬链接文件的文件名
[root@localhost san]# ln /root/anaconda-ks.cfg /home/san/AAAAA
2>创建一个软连接
[root@localhost san]# ln -s /root/anaconda-ks.cfg /home/san/ruan
#软链接的源文件必须写绝对路径,否则建立的软链接文件就会报错,无法正常使用
注:任何文件均可创建软连接 只有普通文件才可以创建硬链接
区别
1>硬链接 直接读数据
软连接 存路径 通过路径读数据
2>inode不同
[root@localhost san]# ls -i
34325185 AAAAA 17597080 Documents 52525709 Pictures 52525707 Templates
34325185 anaconda-ks.cfg 34325708 Downloads 800536 Public 800537 Videos
17597079 Desktop 34325709 Music 34324498 ruan
可以看到创建的两个硬链接节点号相同
软连接与他们节点号不同
两个硬链接名称不同,仍可访问同一个软件,是因为靠inode来访问
[root@localhost san]# ll -h
total 8.0K
-rw-------. 3 root root 1.4K Dec 5 13:12 AAAAA
-rw-------. 3 root root 1.4K Dec 5 13:12 anaconda-ks.cfg
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Desktop
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Documents
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Downloads
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Music
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Pictures
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Public
lrwxrwxrwx. 1 root root 21 Dec 10 15:21 ruan -> /root/anaconda-ks.cfg
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Templates
drwxr-xr-x. 2 san san 6 Dec 5 13:14 Videos
```c
[root@localhost ~]# ll -h
total 8.0K
-rw-------. 3 root root 1.4K Dec 5 13:12 anaconda-ks.cfg
可以看到硬链接文件大小与源文件大小一致
软连接文件大小与其不一致
使用vim修改硬链接AAAAA内容
[root@localhost ~]#vim /home/san/AAAAA
修改前
修改后
[root@localhost san]# cat anaconda-ks.cfg
#version=RHEL8
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@localhost ~]# cat anaconda-ks.cfg
#version=RHEL8
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@localhost san]# cat ruan
#version=RHEL8
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
可以看出 源文件内容,另一个硬链接内容也被修改
利用软连接查看文件内容均被修改