ln -s /real/path link-name让 link-name 指向真实路径。
约 853 字大约 3 分钟
2026-05-14
ln 用来创建链接。最常用的是软链接,也叫符号链接,可以把一个路径指向另一个文件或目录;硬链接较少用,但理解它能帮助你更清楚地认识 Linux 文件系统。
`ln` 用来创建链接。最常用的是软链接,也叫符号链接,可以把一个路径指向另一个文件或目录;硬链接较少用,但理解它能帮助你更清楚地认识 Linux 文件系统。
ln -s /real/path link-name让 link-name 指向真实路径。
ls -l link-name显示链接指向。
readlink link-name只输出软链接目标路径。
unlink link-name删除链接本身,不删除目标。
ln -s /opt/app/current app
ln -s /etc/nginx/sites-available/site.conf /etc/nginx/sites-enabled/site.conf软链接类似快捷方式,链接本身保存的是目标路径。目标不存在时,链接会变成“断链”。
ln source.txt hard-link.txt硬链接指向同一个 inode。删除其中一个文件名,数据不一定消失,因为另一个硬链接仍然指向同一份数据。
ls -l app
readlink app
readlink -f appreadlink -f 会解析出最终绝对路径。
unlink app
rm app删除软链接只会删除链接本身,不会删除目标目录或文件。但如果命令写成带尾随斜杠的目录路径,就要格外小心。
注意尾随斜杠
删除软链接时尽量写 rm link-name,不要写 rm link-name/。带 / 可能让命令作用到目标目录。
current -> releases/20260514sites-enabled/site.conf -> sites-available/site.conf软链接像“快捷方式”:它保存的是目标路径。目标文件移动或删除后,软链接就会失效。硬链接像“同一个文件多了一个名字”:它们指向同一个 inode,只要还有一个硬链接存在,文件内容就还在。
| 对比 | 软链接 | 硬链接 |
|---|---|---|
| 能否跨文件系统 | 可以 | 通常不可以 |
| 能否链接目录 | 常用 | 一般不允许 |
| 目标删除后 | 链接失效 | 内容仍可通过硬链接访问 |
| 常见用途 | 配置入口、版本切换 | 少量特殊备份场景 |
ln -s /opt/app/releases/2026-05-14 /opt/app/current部署系统常用 current 软链接指向当前版本。回滚时只要把软链接切回旧目录,入口路径不用变。
删除软链接时,删除的是链接本身,不会删除目标文件:
rm /opt/app/current版权归属:Shuo Liu