在 Debian(其实是 Linux 通用)下,**批量创建软连接(symbolic link)**常见有几种做法,下面按使用场景给你整理一下。
假设:
/data/src//data/dst/for f in /data/src/*; do
ln -s "$f" /data/dst/
done
✅ 优点:直观、可控
❌ 注意:不会递归子目录
for f in /data/src/*.txt; do
ln -s "$f" /data/dst/
done
find /data/src -type f | while read f; do
ln -s "$f" /data/dst/
done
cd /data/src
find . -type f | while read f; do
mkdir -p "/data/dst/$(dirname "$f")"
ln -s "$(pwd)/$f" "/data/dst/$f"
done
cp 直接批量建软链接(推荐)cp 有一个非常好用的参数:
cp -rs /data/src/* /data/dst/
参数说明:
-r:递归-s:创建符号链接(soft link)✅ 最简洁、最安全
✅ 自动保持目录结构
⚠ 注意:
ln -sf /data/src/* /data/dst/
或:
cp -rsf /data/src/* /data/dst/
如果有一个列表文件 list.txt:
/data/src/a.txt
/data/src/b.txt
while read src; do
ln -s "$src" /data/dst/
done < list.txt
-f 会报错如果你能告诉我:
我可以给你精准的一条命令。