You need to enable JavaScript to run this app. Linux下如何将多层嵌套目录中指定扩展名的文件集中复制到单个文件夹
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何将多层嵌套目录中指定扩展名的文件集中复制到单个文件夹

多层嵌套目录指定类型文件平铺复制实现方法

无需安装第三方工具,Linux原生环境即可完成全流程操作,具体步骤与适配方案如下:

前置核对

  • 先在源根目录(Folder_X路径下)执行原有匹配命令find . -iname "*.type",逐行核对输出的匹配文件列表,确认没有误匹配的内容,避免后续复制错误文件。
  • 提前创建目标平级存储目录,避免因路径不存在导致复制报错:
    mkdir -p /some/another/location/Folder_I

基础复制命令

在源根目录下执行以下命令,所有匹配到的.type文件会直接平铺复制到目标文件夹,完全不会保留原有的嵌套子目录结构:
find . -type f -iname "*.type" -exec cp {} /some/another/location/Folder_I/ \;

命令参数说明:

  • -type f:限定查找对象为普通文件,自动跳过同名目录、异常软链接,避免复制操作报错
  • -iname:不区分大小写匹配文件后缀,若需要严格区分大小写匹配,可替换为-name

不同场景的命令调整

  • 待复制文件包含空格/特殊字符、文件总量较大时:可替换为以下命令,避免特殊字符导致的复制中断,同时大幅提升大量文件的处理效率:
    find . -type f -iname "*.type" -print0 | xargs -0 cp -t /some/another/location/Folder_I/
  • 不同嵌套目录下存在同名字的.type文件、需要避免覆盖目标文件夹已有内容时:在cp命令后追加参数:
    • 加-n:复制时不覆盖目标文件夹内已存在的同名文件
    • 加--backup=numbered:自动为重名文件追加数字序号后缀,生成如file1.type.~1~的区分文件,不会互相覆盖
  • 需要完整保留原文件的权限、修改时间、所属用户等属性时:在cp命令后追加-a参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.14 16:15:04