何时使用
适用:
- Downloads / 文档 / home 目录杂乱,文件散落、难以查找。
- 存在重复文件占用空间,需要识别并清理。
- 目录结构不合理,或新项目开始时需要规划结构。
- 归档旧项目前的清理,或希望建立长期整理习惯。
不该用(负边界):
- 整理对象在云盘 / 在线网盘 / 远端同步盘,本技能只处理本地文件系统。
- 跨机器同步、版本控制迁移等场景,应交给专门工具。
- 任何未经用户确认的自动删除。删除一律先确认。
步骤
明确范围。先问清楚:整理哪个目录?主要痛点是什么(找不到/重复/太乱/无结构)?哪些文件夹要避开(在用项目、敏感数据)?整理力度(保守 vs 彻底)?
分析现状。扫描目标目录,统计文件/文件夹总数、类型分布、大小分布、日期范围与明显问题。
识别分组逻辑。常见三种维度:
- 按类型:文档 / 图片 / 视频 / 压缩包 / 代码项目 / 表格 / 演示。
- 按用途:工作 vs 个人、活跃 vs 归档、项目专属、参考资料、临时草稿。
- 按日期:本年本月 / 往年 / 很旧(归档候选)。
查找重复文件。按哈希找精确重复,按文件名/大小找疑似重复;对每组重复展示全部路径、大小、修改时间,推荐保留项(通常取最新或命名最规范者),删除前务必确认。
提出整理方案。在动手前用清晰的计划呈现:现状摘要、目标目录树、将执行的变更(新建目录 / 移动 / 重命名 / 删除)、以及需用户拍板的文件清单,等待 yes/no/modify。
执行整理。批准后按计划系统执行;记录每一步移动以便回退,保留原始修改时间,妥善处理重名冲突,遇到意外情况停下来询问。
总结与维护建议。汇报变更(新建目录数、整理文件数、去重释放空间、归档数量),展示新目录树,并给出每周/每月/每季/每年的维护节奏与常用查询命令。
指令
分析现状(Windows 下可用 Bash 工具调用,或换用等价 PowerShell):
# 总览结构
ls -la [target_directory]
# 查看文件类型
find [target_directory] -type f -exec file {} \; | head -20
# 找出最大文件
du -sh [target_directory]/* | sort -rh | head -20
# 按扩展名统计数量
find [target_directory] -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn
查找重复:
# 按哈希找精确重复
find [directory] -type f -exec md5 {} \; | sort | uniq -d
# 按文件名找疑似重复
find [directory] -type f -printf '%f\n' | sort | uniq -d
# 按大小排序便于人工比对
find [directory] -type f -printf '%s %p\n' | sort -n
执行整理:
# 建立目录结构
mkdir -p "path/to/new/folders"
# 移动文件(保留清晰日志)
mv "old/path/file.pdf" "new/path/file.pdf"
# 统一命名,如 "YYYY-MM-DD - 描述.ext"
关键约束:删除前必须确认;记录所有移动以便撤销;保留原始修改时间;优雅处理重名冲突;遇到意外停下询问。
示例
整理方案(动手前呈现):
# [目录] 整理方案
## 现状
- X 个文件,分布在 Y 个文件夹,共 [大小]
- 类型分布:[breakdown]
- 问题:[列出问题]
## 目标结构
[Directory]/
├── Work/
│ ├── Projects/
│ ├── Documents/
│ └── Archive/
├── Personal/
│ ├── Photos/
│ ├── Documents/
│ └── Media/
└── Downloads/
├── To-Sort/
└── Archive/
## 将执行的变更
1. 新建目录:[list]
2. 移动文件:X 个 PDF → Work/Documents/,Y 张图片 → Personal/Photos/,Z 个旧文件 → Archive/
3. 重命名:[命名规则]
4. 删除:[重复或垃圾文件]
## 需你决定的文件
- [拿不准的文件清单]
是否继续?(yes/no/modify)
注意事项
命名规范:
- 文件夹用清晰描述名,避免空格(用连字符/下划线),具体化(client-proposals 而非 docs),可用序号前缀排序(01-current、02-archive)。
- 文件名带日期(2024-10-17-meeting-notes.md),描述清晰,不在名字里堆版本号(交给版本控制),清理下载产物(document-final-v2 (1).pdf → document.pdf)。
何时归档:6 个月以上未动的项目;可能日后引用的已完成工作;迁移后的旧版本;不舍得删的文件(先归档)。
通用约束:仅在任务明确落入上述范围时使用;输出不替代针对具体环境的验证、测试或专家审查;缺少必要输入、权限、安全边界或成功标准时,停下来澄清。
互见
- 大批量文件检索可配合 Glob 工具按模式定位。
- 若目标是云端文档/网盘整理,改用对应的云文档或云空间技能。
采编自 sickn33/antigravity-awesome-skills(MIT)。