linux 软连接也就是符号链接(symbolic link),创建软连接核心命令是 ln -s,ln 是 link 命令,加上 -s 参数就是创建软链接,不加 - s 默认是硬链接,软链接类似 windows 的快捷方式,本身是一个独立文件,里面保存原文件的路径,支持跨分区、跨磁盘,也可以对目录创建,这是软链接和硬链接最大区别,硬链接不能针对目录创建,也不能跨文件系统。语法格式:ln -s 源文件/源目录 软链接名称,日常常用于软件版本切换、缩短长路径、配置文件统一入口。
✅ 基础语法
ln -s
【源目标绝对/相对路径】
【软链接名称】
✅ 常用示例
- 给文件创建软连接
ln -s /opt/app/config.conf /etc/config.conf
- 给目录创建软连接(非常常用)
ln -s /data/project /root/project
- 如果软链接已经存在,强制覆盖重建
ln -sfn /data/project /root/project
-f 强制覆盖,-n 防止把新链接创建到旧链接目录内部
✅ 查看软链接
ls -l
ls -l 输出开头是 l 代表是软链接,箭头 -> 指向源文件路径
✅ 删除软链接
rm /root/project
⚠️ 重点:删除软链接本身,不要在末尾加斜杠!
错误写法:rm -rf /root/project/ 有可能误删源目录里面真实文件
✅ 软链接和硬链接对比
| 对比项 | 软链接 ln -s | 硬链接 ln |
|---|---|---|
| 本质 | 类似快捷方式,保存路径 | 同一个 inode 多个文件名 |
| 是否支持目录 | ✅ 支持 | ❌ 不支持 |
| 是否跨分区 | ✅ 支持 | ❌ 不支持 |
| 源文件删除 | 软链接失效,变成断链 | 硬链接仍然可以正常访问 |
进阶深度要点
✅ 推荐优先使用绝对路径写源路径,后期移动目录之后不容易变成失效断链;相对路径软链接如果源目录移动,很容易失效。
✅ 断链:源文件 / 源目录被删除、移动之后,软链接还在,但是访问报错 No such file or directory,就是失效软连接。
✅ 复制软链接的时候,cp 默认会复制源文件真实内容,如果只想复制链接本身,需要加参数 cp -d 或者 cp -a。
常见报错与踩坑
- File exists:同名软链接已经存在,需要加 -f 强制覆盖
- 访问提示 No such file or directory:源路径错误,源文件已经删除,软链接断链
- 误删源目录:rm 删除软链接的时候末尾带 /,这个是高频事故点
- 硬链接不能建目录,很多新手 ln 不带 - s,创建目录报错
【常见问题】
问题 1 linux 软连接命令 ln -s 是什么意思
回答 1 linux 软连接命令 ln -s,ln 是 link 链接命令,-s 代表 symbolic 符号链接,也就是软连接,相当于快捷方式,可以对文件或者目录创建,支持跨分区。
问题 2 linux 软连接命令创建之后怎么删除
回答 1 linux 软连接命令创建的软链接,使用 rm 软链接名称删除,注意不要在路径末尾加斜杠,避免误删源目录真实文件。
问题 3 linux 软连接命令,软链接和硬链接区别
回答 1 linux 软连接命令 ln -s 创建软链接,可以对目录创建、支持跨磁盘分区,源文件删除之后软链接失效;硬链接不带 - s,不能创建目录,不能跨分区,源文件删除硬链接依然有效。
问题 4 linux 软连接命令提示 File exists 怎么办
回答 1 linux 软连接命令提示 File exists 代表同名链接已经存在,可以使用 ln -sfn 源路径 链接名,强制覆盖原有软链接。
【免责申明】
本内容为 linux 软连接命令学习资料,删除软链接操作谨慎,避免误删原始业务文件,所有操作需要在主机合法授权运维环境执行。


