ln 软链接 和 硬链接
Linux系统中,链接可分为 软连接 和 硬链接。
ln 软链接 和 硬链接
简介
ln
(即link)的功能是为某一个文件在另外一个位置建立一个同步的链接,分为硬链接
(hard link)和符号链接
(symbolic link),符号链接又称软链接
。
软连接:独立于原始文件(删除/重命名链接不影响文件)。
硬链接:是文件实体的别名(删除链接只是减少一个引用计数)。
无论是软连接还是硬链接,修改文件内容都会直接影响原始文件,原始文件和所有链接的文件内容都会同步更新(因为它们指向同一数据块)。
硬链接
创建硬链接
1
ln [源文件 或 源目录] [目标文件 或 目标目录]
软链接
创建软链接
1
ln -s [源文件 或 源目录] [目标文件 或 目标目录]
查看软链接/硬链接
1
ls -l [链接到的目标文件 或 目标目录]
软链接,有箭头->
:
lrwxrwxrwx 1 nk nk 1 May 31 12:59 ttt -> t
查看 inode 号:
1
2
ls -i
ls -li
硬链接会显示相同的inode号,且与原始文件相同。
软链接有自己的inode号(因此与原始文件不同)。
删除链接
rm
命令:
1
rm 软连接名/硬链接名
如果软连接
指向目录,结尾不能加 /
(否则会进入目标目录)
unlink
安全删除软连接:
1
unlink /path/to/symlink # 替代rm,避免误删目录内容
软连接是一个独立的文件,它只是指向另一个文件/目录的快捷方式。删除软连接不会影响原始文件。
硬链接是文件的直接引用(与原始文件共享 inode)。删除硬链接只是减少文件的链接计数,当最后一个硬链接被删除后,原始文件也会真正被删除。
本文由作者按照 CC BY 4.0 进行授权