在 Ubuntu(Linux)下,**批量创建软连接(symbolic link)**常见有几种做法,下面按使用场景给你总结:
把 /data/src/ 下的所有文件,软连接到 /data/dst/
for f in /data/src/*; do
ln -s "$f" /data/dst/
done
✅ 说明:
ln -s 源 目标"$f" 用引号防止文件名有空格for f in /data/src/*.txt; do
ln -s "$f" /data/dst/
done
for f in /data/src/*; do
ln -s "$f" /data/dst/"$(basename "$f")"
done
find /data/src -type f | while read f; do
ln -s "$f" /data/dst/
done
⚠ 注意:目标目录不要和源目录重叠,否则会乱
cp 批量建软连接(最方便)cp -rs /data/src/* /data/dst/
参数说明:
-r:递归-s:创建软连接(symbolic)✅ 最推荐,一行搞定
cp -s /data/src/* /data/dst/
ln -sf 源 目标
或
cp -rsf /data/src/* /data/dst/
ls -l /data/dst
file 软连接名
readlink 软连接名
| 场景 | 推荐命令 |
|---|---|
| 最简单 | cp -rs 源 目标 |
| 脚本可控 | for + ln -s |
| 递归复杂 | find + ln -s |
如果你有具体目录结构或需求(比如排除某些文件、保留目录层级),可以发出来,我帮你写精确命令。