下载目录用久了,文件会堆成一片。与其手动拖拽,不如用几条命令按规则归类。
先看清现状
统计各扩展名的数量,找出占比最高的几类:
find . -maxdepth 1 -type f | sed 's/.*\.//' | sort | uniq -c | sort -nr | head
按扩展名归类
把常见类型分到对应目录,其余留在原地:
mkdir -p images docs archives
mv *.jpg *.png images/ 2>/dev/null
mv *.pdf *.docx docs/ 2>/dev/null
mv *.zip *.tar.gz archives/ 2>/dev/null
按修改时间归档
半年前的文件移动到归档目录,保留近期常用的:
find . -maxdepth 1 -type f -mtime +180 -exec mv {} archive/ \;
小心的地方
- 先备份或先
ls预览,确认匹配范围再执行mv - 文件名含空格时,用
-print0配合xargs -0 - 跨文件系统移动会变成复制+删除,注意磁盘空间
整理脚本跑顺之后,可以挂到定时任务里每月执行一次,省掉重复劳动。