0711_Linux基础(3)

228 阅读1分钟

硬链接

正常情况下,一个文件名,其实就是一个硬链接,Linux 允许文件具有多个不同的文件名。

如果一个文件具有多个硬链接(不同的文件名),那么除非所有的硬链接都被删除了,否则文件依然存在。

硬链接只能用于常规文件,不能用于目录或特殊文件,并且只能位于同一个文件系统内才能够使用。

通过 地址可以判断,多个文件名(硬链接)是否是指向同一个文件(地址空间)。具体方式是 ls -i 即使用 -i 参数

# 假设当前目录是用户目录

touch 1.txt

# 其实建议写绝对路径

ln 1.txt hard-1.txt

ls -il 1.txt hard-1.txt

# 请确保目的路径的中间路径(下例为 otheruser)
mkdir /home/other
ln 1.txt /home/other/hard-1.txt

1.png

软链接

类似 Windows 中的快捷方式。

软链接也叫做符号链接

目录或特殊文件可以进行软链接,而且可以跨越不同的文件系统。

悬挂问题: 删除原始文件时,软链接依然会指向该文件,只不过会变成 badlink,但是如果又创建跟原始文件同名的文件时,该软链接又能够重新工作。

# 建立软链接
# 建议写绝对路径,但相对路径也不是不行
ln -s 1.txt s-l-1.txt

ln -s /etc /home/student/s-l-etc

2.png

其他参考文档

Linux硬链接和软链接详解(深度剖析)