在 Debian(以及大多数 Linux 系统)里,“批量建软连接(symbolic link)”常见有几种做法,取决于源文件/目录的来源和目标位置。下面按常见场景给你示例。
for 循环批量创建(推荐)for f in *; do
ln -s "$(realpath "$f")" /目标目录/"$f"
done
✅ 示例:把 /data/src/ 下的文件全部链接到 /data/dst/
for f in /data/src/*; do
ln -s "$f" /data/dst/
done
for f in *; do
[ -f "$f" ] && ln -s "$(realpath "$f")" /目标目录/"$f"
done
find 批量创建(适合目录结构复杂)find /data/src -type f -exec ln -s {} /data/dst/ \;
⚠️ 注意:
/data/dst 里已有同名文件会失败find /data/src -type f | while read f; do
rel=${f#/data/src/}
ln -s "$f" "/data/dst/$rel"
done
for d in /data/src/*/; do
ln -s "$d" /data/dst/
done
for f in *; do
[ -e "/data/dst/$f" ] || ln -s "$(realpath "$f")" /data/dst/"$f"
done
ln -sf 源文件 目标
批量:
for f in *; do
ln -sf "$(realpath "$f")" /data/dst/"$f"
done
ln -s /data/src/file /data/dst/file
ln -s ../src/file dst/file
ls -l /data/dst
for f in /data/src/*; do
ln -s "$f" /data/dst/
done
如果你能告诉我:
我可以帮你写一条完全适合你场景的命令。