“批量建软连接”通常指在 Linux / macOS 等类 Unix 系统下,用脚本一次性为多个文件或目录创建符号链接(symlink)。下面按常见场景给你几种实用方法。
创建单个软链接:
ln -s 源文件 链接名
例如:
ln -s /data/a.txt /tmp/a.txt
for f in /data/src/*; do
ln -s "$f" /data/dst/
done
说明:
/data/src/*:源文件/data/dst/:目标目录(链接会放在这里,名字同原文件)find(可递归子目录)find /data/src -type f -exec ln -s {} /data/dst/ \;
如果只想链接某些类型:
find /data/src -name "*.txt" -exec ln -s {} /data/dst/ \;
例如把:
a.log -> /var/log/a.log
b.log -> /var/log/b.log
for name in a b c; do
ln -s /var/log/$name.log /data/link/$name.log
done
假设你有 list.txt:
/src/1.txt /dst/1.txt
/src/2.txt /dst/2.txt
while read src dst; do
ln -s "$src" "$dst"
done < list.txt
for f in /data/src/*; do
[ -e /data/dst/$(basename "$f") ] || ln -s "$f" /data/dst/
done
Windows 用 mklink:
for %i in (*) do mklink "%i" "source\%i"
(需管理员权限,且语法不同)
-f 强制覆盖(谨慎)如果你能说清楚:
我可以直接帮你写一段“可复制即用”的脚本。