温馨提示×

centos软连接如何批量建

小樊
41
2026-09-15 10:11:13
栏目: 智能运维

在 CentOS(或一般 Linux)下,“批量建软连接”常见有几种场景,下面按最常用方式给你说明,你可以对号入座。


一、把某个目录下的所有文件,批量软链到另一个目录

示例

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

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

✅ 说明:

  • * 不包含隐藏文件(. 开头)
  • 软链指向的是绝对路径

二、包含隐藏文件(推荐更严谨写法)

for f in /data/src/* /data/src/.*; do
    [ -e "$f" ] && ln -s "$f" /data/dst/
done

三、只软链特定类型文件(如 .conf)

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

四、使用 find 批量建软链(适合深层目录)

find /data/src -type f -exec ln -s {} /data/dst/ \;

或只链接一层:

find /data/src -maxdepth 1 -type f -exec ln -s {} /data/dst/ \;

五、保持目录结构软链(高级)

如果你希望:

/data/src/a/b.txt

软链成:

/data/dst/a/b.txt

可以用 rsync:

rsync -a --symbolic-links /data/src/ /data/dst/

或用 cp:

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

⚠️ 注意:cp -rs 创建的是相对软链


六、避免重复创建(防止报错)

for f in /data/src/*; do
    [ -e "/data/dst/$(basename $f)" ] || ln -s "$f" /data/dst/
done

七、查看已建软链

ls -l /data/dst

或

find /data/dst -type l

如果你能说清楚:

  • 是 文件还是目录
  • 是否 保持目录结构
  • 是否 覆盖已有

我可以直接给你一条最合适命令。

0 踩