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

如何将服务器中同名target目录下的*.jar文件复制到指定目录(排除子目录)

服务器指定Jar文件批量复制解决方案

需求说明

将服务器中所有名为target的目录下直接存放的*.jar文件复制到/home/Test Folder目录,排除target子目录内的文件。

现有命令问题

你提供的尝试命令存在几个问题:

  • 错误筛选了.war文件(grep .war),与需求的复制.jar文件不符
  • 使用execdir ls的方式处理文件名存在风险(比如文件名含空格会导致命令执行出错)
  • 目标路径写为/home/test,和需求中的/home/Test Folder不一致
  • 未限制搜索深度,可能会包含target子目录里的文件

正确命令示例

方法一:双层find命令

find / -name "target" -type d -exec find {} -maxdepth 1 -type f -name "*.jar" -exec cp {} "/home/Test Folder" \; \;

方法二:结合xargs处理特殊文件名

如果存在文件名含空格、特殊字符的情况,用更健壮的写法:

find / -name "target" -type d -exec find {} -maxdepth 1 -type f -name "*.jar" -print0 \; | xargs -0 cp -t "/home/Test Folder"

命令解释

  • /:从根目录开始搜索,可替换为你需要的起始搜索目录(比如当前目录用.)
  • -name "target" -type d:精准匹配所有名为target的目录
  • -maxdepth 1:限制在target目录的当前层级搜索,不进入子目录
  • -type f -name "*.jar":筛选出所有jar格式的普通文件
  • -print0和xargs -0:处理文件名含空格、特殊字符的场景,避免命令执行报错
  • -t "/home/Test Folder":指定复制的目标目录,因目录名带空格需用引号包裹

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:22:45