1. 连接
2. 软连接Symbolic Link ln [-sf] 来源文件 目标文件
- 软连接一定加-s。
- 相当于windows下的快捷方式,删掉源文件即失效
- 只要修改了连接文档,源文件也会被修改
3. 硬连接Hard Link ln 来源文件 目标文件
- 如果 ln 不加任何参数就进行连结,那就是 hard link。
- 删掉源文件还可以看见该文件的内容
- 不接受目录
4. 测试
[root@smx ~]
[root@smx tmp]
[root@smx tmp]
652497 .
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/centos-root 8910848 130750 8780098 2% /
- 生成Hard Link:即使多了一个文档也没有改变容量。会指向同一个inode(17372931),同时连结数会增加,可以对比一下发现2变成了3。
[root@smx tmp]
[root@smx tmp]
652497 .
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/centos-root 8910848 130750 8780098 2% /
[root@smx tmp]
17372931 -rw-r--r--. 2 root root 2334 8月 10 15:01 passwd
17372931 -rw-r--r--. 2 root root 2334 8月 10 15:01 passwd-hd
[root@smx tmp]
[root@smx tmp]
17372931 -rw-r--r--. 3 root root 2334 8月 10 15:01 passwd
17372931 -rw-r--r--. 3 root root 2334 8月 10 15:01 passwd-hd
17372931 -rw-r--r--. 3 root root 2334 8月 10 15:01 passwd-te
- 生成Symbolic Link:会指向不同的inode(17372950),文件大小也变成了6字节,就是源文件文件名(passwd)有多少字节连接的文件就有多大。
[root@smx tmp]
[root@smx tmp]
17372931 -rw-r--r--. 2 root root 2334 8月 10 15:01 passwd
17372931 -rw-r--r--. 2 root root 2334 8月 10 15:01 passwd-hd
17372950 lrwxrwxrwx. 1 root root 6 8月 11 17:39 passwd-so -> passwd
[root@smx tmp]
652503 .
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/centos-root 8910848 130751 8780097 2% /
[root@smx tmp]
rm:是否删除普通文件 "passwd"?y
[root@smx tmp]
root:x:0:0:root:/root:/bin/bash
…………………………省略………………………………
[root@smx tmp]
cat: passwd-so: 没有那个文件或目录
5. 参数
-d, -F, --directory
允许超级用户建立目录硬连接。
-f, --force
删除已存在的目的文件。
-i, --interactive
提示是否删除已存在的目的文件。
-n, --no-dereference
当所给出的目的文件名是一个目录的符号连接时,将其视为一般文件处理。
当目的目录名是一个确实存在的目录(不是一个符号连接)时,
不进行模糊处理,而在那个目录里建立连接。
但是当所指定的目的目录名是一个符号连接时,
有两种方式来对待用户的要求。 ln
会视目的为一个普通目录,并且在里面建立连接。
或者如同符号连接本身一样地视其为一个非目录。
这种情况下,ln
将在建立新连接之前删除或备份这个符号连接。
缺省地,把符号连接视为普通目录来对待。
-s, --symbolic
建立符号连接以替代硬连接。
在不支持符号连接的系统上,这个选项仅仅会产生一个错误提示而已。
-v, --verbose
在建立连接前显示所操作的文件名。