温馨提示×

如何批量建软连接

小樊
33
2026-10-06 17:25:44
栏目: 编程语言

“批量建软连接(符号链接)”通常分两种场景:把一批源文件/目录分别链接到目标目录,或按列表批量生成。下面按常见系统和方式给你最实用的做法。


一、Linux / macOS(命令行)

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

ln -s /source_dir/* /target_dir/

⚠️ 注意:

  • * 不包含隐藏文件(.xxx)
  • 如果源是目录,会整体链成一个软链

2️⃣ 递归批量建软链接(包含子目录结构)

cp -rs /source_dir/* /target_dir/
  • -r 递归
  • -s 创建软链接
  • 会保持目录结构

3️⃣ 用 find 精确控制(推荐)

find /source_dir -type f -exec ln -s {} /target_dir/ \;

只链文件:

find /source_dir -type f

只链目录:

find /source_dir -type d

4️⃣ 按“文件列表”批量建软链

假设有 list.txt:

/a/1.txt
/a/2.txt
while read f; do
  ln -s "$f" /target_dir/
done < list.txt

二、Windows(cmd / PowerShell)

1️⃣ CMD(需管理员)

for %f in (C:\src\*) do mklink "D:\dst\%~nxf" "%f"

2️⃣ PowerShell(推荐)

Get-ChildItem C:\src | ForEach-Object {
  New-Item -ItemType SymbolicLink -Path "D:\dst\$($_.Name)" -Target $_.FullName
}

三、常见坑提醒

  • 软链接 源路径最好用绝对路径
  • 目标已存在会报错,可加 -f 强制覆盖(Linux)
  • Windows 软链受权限限制(需开发者模式或管理员)

如果你能告诉我:

  • 操作系统
  • 是文件还是目录
  • 是否要保持目录结构

我可以给你直接可复制的精准命令。

0 踩