首页/系统/Linux 运维命令速查/场景:按扩展名分类归档文件
文件与目录76 条

场景:按扩展名分类归档文件

整理下载目录/上传目录:按类型把文件搬进 images、docs、arch 子目录,case 分支一次成型。

Linux 运维命令速查系统更新于 2026-10-13

按扩展名归档是什么

整理下载或上传目录时,按扩展名把文件分门别类搬进子目录,是成本最低的整理手段。用循环配合分支匹配可以一次成型,关键点是先建好目标目录,并对同名文件做防覆盖处理。

基本信息

场景按扩展名自动归类文件
工具循环配合分支匹配与移动命令
节奏先建目标目录,再逐类搬移
防护对同名文件不覆盖

典型使用场景

  • 整理上传目录:把散乱文件按类型归入图片、文档、压缩包等子目录
  • 下载目录清理:按类型分流,便于后续批量处理
  • 交付整理:待交付文件按类型分目录,接收方容易查找
  • 归档预处理:按类型分桶后再打包,检索更方便
  • 定期维护:配合计划任务周期执行

常用示例

常用示例
cd /data/incoming
mkdir -p images docs arch
for f in *; do case "$f" in
  *.jpg|*.png) mv -v "$f" images/ ;;
  *.pdf|*.docx) mv -v "$f" docs/ ;;
  *.zip|*.gz) mv -v "$f" arch/ ;;
esac; done

要点对照

要点做法原因
目标目录先创建再搬移避免移动到不存在的路径
分支匹配多个扩展名并列一条规则覆盖同类文件
防覆盖移动命令加不覆盖选项同名文件不会被静默替换
隐藏文件循环默认不匹配需要时显式补充规则
未处理清单统计剩余文件确认没有遗漏类别
通配符默认不包含隐藏文件,需要一并处理时用显式匹配规则启用匹配隐藏文件的选项。
同名文件被移动到同一目录会互相覆盖,生产目录先用不覆盖选项并统计未处理清单。
把归类规则写进脚本而不是临时敲命令,规则调整后可以重复运行,行为保持一致。
先用预演方式打印将要执行的移动命令,确认分类规则与目标目录无误后再实际执行。
同类文件数量很大时可以并行加速,但要保证各任务的目标目录互不冲突。

易错点

  • 通配符不包含隐藏文件,会漏掉以点开头的文件,需要显式处理
  • 同名文件搬到同一目录会被覆盖,未加不覆盖选项会造成静默数据丢失
  • 目标目录不存在时移动失败,脚本应先创建目录并检查执行结果
  • 规则不全导致部分文件永远留在原目录,收尾时应统计剩余文件并补充规则

数据来源与参考

  • man 1 bash(case 语句)
  • man 1 mv(GNU coreutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌