You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单文件复制至多不同命名目录的单行命令及递归层级复制咨询

单行复制文件到多个不同目录的解决方案

当然可以用单行命令实现,而且完全适配不同名称的目标目录,这里给你两种常用的方法:

  • Shell 循环单行写法:这是最直观且易读的方式,不管目标目录名字是什么都能直接用:

    for dir in /a/c/ /a/d/ /a/e/; do cp /a/b/file.name "$dir"; done
    

    原理是通过for循环遍历你列出的所有目标目录,逐个执行cp命令完成复制。

  • xargs 配合 echo:如果偏好更简洁的管道写法,可以用这个:

    echo /a/c/ /a/d/ /a/e/ | xargs -n 1 cp /a/b/file.name
    

    echo输出所有目标目录路径,xargs -n 1会每次取一个路径作为cp的目标参数,从而完成批量复制。

复制文件到递归层级目录的方法

如果要把文件自动复制到指定目录的所有递归子目录中(比如你说的a/b/c/d结构,要把文件放到a、a/b、a/b/c、a/b/c/d这些层级里),可以用find命令实现:

find /a -type d -exec cp /a/b/file.name {} \;
  • find /a -type d会找出/a目录下所有的子目录(包括/a本身)
  • -exec cp ... {} \;会对每个找到的目录执行复制命令,{}代表当前找到的目录路径。

如果需要限制递归的深度(比如只复制到a/b/c为止,不包含a/b/c/d),可以加上-maxdepth参数:

find /a -maxdepth 3 -type d -exec cp /a/b/file.name {} \;

这里-maxdepth 3表示最多遍历到从/a开始的第3层子目录(/a是第0层,a/b第1层,a/b/c第2层,a/b/c/d第3层,可根据需求调整数字)。

内容的提问来源于stack exchange,提问作者Niko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:43:08