在 Linux 里使用软链接(符号链接,symbolic link,常叫 symlink),本质上是为了用“指向另一个文件/目录的指针”来灵活管理文件。常见原因和好处如下:
软链接是一个特殊文件,里面保存的是目标路径,而不是真实数据。
ln -s /real/path/file /link/path/file
访问软链接时,系统会自动跳转到它指向的目标。
软链接只存路径,不复制内容。
# 10GB 文件
ln -s bigfile.iso /tmp/bigfile.iso
/tmp/bigfile.iso 几乎不占空间。
比如:
ln -s /data/config/app.conf /etc/app/app.conf
改一处,所有地方生效。
典型用法:
/usr/local/java -> jdk-17
切换版本只需改软链接:
ln -sfn jdk-21 /usr/local/java
不用改环境变量、不用动程序路径。
真实文件可能:
但访问路径保持不变:
/var/www/html -> /data/web/html
以后换硬盘只改软链接。
例如:
~/Downloads -> /mnt/disk2/Downloads
很多 Linux 系统大量使用软链接:
/bin -> /usr/bin/lib -> /usr/libpython -> python3| 对比项 | 软链接 | 硬链接 |
|---|---|---|
| 跨文件系统 | ✅ 可以 | ❌ 不行 |
| 可链接目录 | ✅ 可以 | ❌ 不行 |
| 原文件删除 | 链接失效 | 仍可用 |
| 更像 | 快捷方式 | 文件别名 |
用 Linux 软链接,是为了“用最小的代价,实现文件/目录的灵活指向、共享和切换”。
如果你愿意,我也可以讲: