温馨提示×

ubuntu软连接怎么批量建

小樊
40
2026-10-10 00:26:46
栏目: 智能运维

在 Ubuntu(Linux)下,**批量创建软连接(symbolic link)**常见有几种做法,下面按使用场景给你总结:


一、对一个目录下的所有文件批量建软连接

示例

把 /data/src/ 下的所有文件,软连接到 /data/dst/

for f in /data/src/*; do
    ln -s "$f" /data/dst/
done

✅ 说明:

  • ln -s 源 目标
  • "$f" 用引号防止文件名有空格

二、只软连接特定类型文件(如 .txt)

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 批量建软连接(最方便)

1️⃣ 同目录结构软连接

cp -rs /data/src/* /data/dst/

参数说明:

  • -r:递归
  • -s:创建软连接(symbolic)

✅ 最推荐,一行搞定


2️⃣ 只软连接文件不递归

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

如果你有具体目录结构或需求(比如排除某些文件、保留目录层级),可以发出来,我帮你写精确命令。

0 踩