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

如何用单条Shell命令将指定文件复制到目标目录的100个子文件夹

实现单条Shell命令复制文件到多个子文件夹

没问题,一条Shell命令就能轻松完成这个复制需求,我给你两种实用的实现方式,你可以根据实际场景选择:

方式一:使用for循环(直观易读)

这条命令会直接遍历folder2下的所有直接子目录,然后将目标文件复制到每个目录中:

for dir in /home/name/domains/domainname.com/public_html/folder2/*/; do cp /home/name/domains/domainname.com/public_html/folder1/index.php "$dir"; done
  • 解释:*/用来匹配folder2下的所有子目录(避免匹配文件),"$dir"用双引号包裹是为了处理目录名包含空格的情况。

方式二:使用find命令(灵活可扩展)

如果需要更精细的目录过滤(比如排除某些特殊目录),可以用find命令实现:

find /home/name/domains/domainname.com/public_html/folder2 -maxdepth 1 -type d -not -path "*/folder2" -exec cp /home/name/domains/domainname.com/public_html/folder1/index.php {} \;
  • 解释:
    • -maxdepth 1:限制只查找folder2下的直接子目录,不会递归到更深层级
    • -type d:只筛选目录类型的对象
    • -not -path "*/folder2":排除folder2目录本身,避免把文件复制到父目录里
    • -exec ... {} \;:对每个找到的目录执行复制操作

小提示

如果担心误操作,可以先把命令里的cp换成echo cp,这样会先打印出要执行的复制动作,确认无误后再换回cp执行实际复制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:57:14