软连接
1.
原理
软连接本质是一种符号连接,类似于
Windows
的快捷方式,存储对应文件的路劲
2.
格式
ln -s
源文件 软连接名称
例:
[root@server /]
# cd ~
[root@server ~]
# echo "china" > h1.txt
[root@server ~]
# ln -s h1.txt h2.txt
[root@server ~]
# ll h2.txt #
查看软连接的指向
lrwxrwxrwx.
1
root root
6 6
月 26
20
:31 h2.txt
-
> h1.txt
[root@server ~]
# ll /dev/cdrom
lrwxrwxrwx.
1
root root
3 6
月26
20
:39 /dev/cdrom
-
> sr0
#
给网卡配置文件建立软连接
[root@server ~]
# cd /etc/NetworkManager/system-connections/
[root@server system-connections]
# ls
ens160.nmconnection
[root@server system-connections]
# cd ~
[root@server ~]
# ln -s /etc/NetworkManager/system
connections/ens160.nmconnection nic
[root@server ~]
# cat nic
注意:
软连接中删除了源文件则连接不可用
#
接上例
[root@server system-connections]
# cd ~
[root@server ~]
# ls
公共 模板 视频 图片 文档 下载 音乐 桌面
anaconda-ks.cfg h1.txt h2.txt mk1 nic
t1.txt temp1 temp2
[root@server ~]
# cat h2.txt
china
[root@server ~]
# rm -f h1.txt
[root@server ~]
# cat h2.txt
cat
: h2.txt:
没有那个文件或目录
软连接数不能查看,只能通过
ll
或
ls -l
命令查看指向关系
删除软连接,只要源文件存在则数据依然可以访问
[root@server ~]
# echo "hello" > b1.txt
[root@server ~]
# ln -s b1.txt b2.txt
[root@server ~]
# cat b1.txt
hello
[root@server ~]
# cat b2.txt
hello
[root@server ~]
# rm -f b2.txt #
删除软连接
[root@server ~]
# cat b1.txt
hello
修改软连接
格式:
ln
-snf
新文件名 软连接名
例:
[root@server ~]
# echo "hello" > h1
[root@server ~]
# echo "world" > w1
[root@server ~]
# ln -s h1 temp
[root@server ~]
# cat temp
hello
[root@server ~]
# ll temp
lrwxrwxrwx.
1
root root
2 6
月 26
20
:46 temp
-
> h1
[root@server ~]
# ln -snf w1 temp #
修改指向关系
[root@server ~]
# ll temp
lrwxrwxrwx.
1
root root
2 6
月 26
20
:47 temp
-
> w1
软硬连接的区别
硬连接中源文件与连接文件公用一个
inode
号,是同一个文件
[root@server ~]
# echo "china" > k1
[root@server ~]
# ln k1 k2 #
新建硬连接
[root@server ~]
# stat k1
文件:
k1
大小:
6
块:
8 IO
块:
4096
普通文件
设备:
fd00h/64768d Inode
:
9252682
#
注意 硬链接:
2
权限:
(0644/-rw-r--r--) Uid
:
(
0
/ root) Gid
:
(
0
/ root)
环境:
unconfined_u:object_r:admin_home_t:s0
最近访问:
2024-06-26
20
:50:36.980179787
+
0800
最近更改:
2024-06-26
20
:50:38.612178450
+
0800
最近改动:
2024-06-26
20
:50:47.468171190
+
0800
创建时间:
2024-06-26
20
:50:36.980179787
+
0800
[root@server ~]
# stat k2
文件:
k2
大小:
6
块:
8 IO
块:
4096
普通文件
设备:
fd00h/64768d Inode
:
9252682
#
注意 硬链接:
2
权限:
(0644/-rw-r--r--) Uid
:
(
0
/ root) Gid
:
(
0
/ root)
环境:
unconfined_u:object_r:admin_home_t:s0
最近访问:
2024-06-26
20
:50:36.980179787
+
0800
最近更改:
2024-06-26
20
:50:38.612178450
+
0800
最近改动:
2024-06-26
20
:50:47.468171190
+
0800
创建时间:
2024-06-26
20
:50:36.980179787
+
0800
软连接中源文件与连接文件拥有不同的
inode
号,是
2
个不同的文件
[root@server ~]
# ln -s k1 k3
[root@server ~]
# stat k1
文件:
k1
大小:
6
块:
8 IO
块:
4096
普通文件
设备:
fd00h/64768d Inode
:
9252682
硬链接:
2
权限:
(0644/-rw-r--r--) Uid
:
(
0
/ root) Gid
:
(
0
/ root)
环境:
unconfined_u:object_r:admin_home_t:s0
最近访问:
2024-06-26
20
:50:36.980179787
+
0800
最近更改:
2024-06-26
20
:50:38.612178450
+
0800
最近改动:
2024-06-26
20
:50:47.468171190
+
0800
创建时间:
2024-06-26
20
:50:36.980179787
+
0800
[root@server ~]
# stat k3
文件:
k3
-
> k1
大小:
2
块:
0 IO
块:
4096
符号链接
设备:
fd00h/64768d Inode
:
9252684
硬链接:
1
权限:
(0777/lrwxrwxrwx) Uid
:
(
0
/ root) Gid
:
(
0
/ root)
环境:
unconfined_u:object_r:admin_home_t:s0
最近访问:
2024-06-26
20
:52:17.757097177
+
0800
最近更改:
2024-06-26
20
:52:11.953101931
+
0800
最近改动:
2024-06-26
20
:52:11.953101931
+
0800
创建时间:
2024-06-26
20
:52:11.953101931
+
0800
软连接的指向关系可以通过命令查看
(ll
或者
ls -l)
,硬连接不可以查看执行关系,只能查看连接硬连接数
(
ll
或者
stat
)
软连接数不会增加,硬连接数会增加
文件大小不一样,硬连接文件容量相同是同一个文件,软连接只是一个快捷方式,容量较小
软连接可以跨越文件系统(分区),任何用户都可以建立指向目录的软连接