最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
find中如何在大型开发项目中快速揪出体积超标的存量大文件
时间:2026-08-10 16:33:49 编辑:袖梨 来源:一聚教程网
精准定位项目中体积超标的存量大文件需聚焦目录、排除构建产物、识别冗余类型:限定项目根路径,用 -xdev 和 -prune 跳过 node_modules/dist/build 等目录,按扩展名(如 .psd/.mov/.core)、时间(-mtime -30)、权限(! -user dev)筛选,再以 du -h | sort -hr 排序输出前15名。
在大型开发项目里揪出体积超标的存量大文件,核心不是“扫全盘”,而是“精准打点”——聚焦项目目录、排除构建产物、识别冗余类型,再用 find 配合合理参数快速筛出真问题。
限定项目根目录,跳过构建和缓存目录
别从 / 或 ~ 开始扫,直接进项目根路径(比如 /home/dev/project-x),并主动跳过已知的非源码大块头:
- 加 -xdev 防止误入挂载的 Docker 卷或 NFS 共享目录
- 用 -path '*/node_modules' -prune、-path '*/dist' -prune、-path '*/build' -prune 排除标准构建产出目录
- 组合写法示例:
find /home/dev/project-x -xdev ( -path '*/node_modules' -o -path '*/dist' -o -path '*/build' ) -prune -o -type f -size +50M -print
按扩展名和命名特征锁定高危类型
开发项目中真正该被清理的大文件,往往不是代码,而是遗留的二进制资产或临时产物:
- 查未压缩的原始素材:-name "*.psd" -o -name "*.ai" -o -name "*.mov" -o -name "*.zip"
- 找可疑的打包残留:-name "backup.*" -o -name "*.tar" -o -name "*.7z"
- 识别日志类膨胀体:-name "debug.log" -o -name "dump.*" -o -name "*.core"
- 可合并进主命令:
find /home/dev/project-x -xdev -type f ( -name "*.psd" -o -name "*.mov" -o -name "dump.*" ) -size +20M -print
结合时间与权限缩小“非正常”范围
项目里长期存在的大文件未必有问题,但近期突然变大的、或权限异常的,大概率是冗余或误存:
- 查近30天新增且超10MB的文件:-mtime -30 -size +10M
- 找属主不是当前开发者、却体积巨大的文件:! -user dev -size +50M(把 dev 换成你实际用户名)
- 常见组合:
find /home/dev/project-x -xdev -type f -mtime -30 -size +10M ! -user dev -print
输出大小+排序,一眼定位“空间杀手”
光列出路径不够直观,加 du -h 和 sort -hr 直接看谁占得最多:
- 命令模板:
find /home/dev/project-x -xdev -type f -size +20M -exec du -h {} ; 2>/dev/null | sort -hr | head -15 - 结果会按人类可读大小倒序排列,前几行就是最值得优先处理的“大户”
- 如需带权限/修改时间等详情,换成:
find /home/dev/project-x -xdev -type f -size +20M -ls | sort -k7,7nr | head -10(-k7 是按第7列即大小数值排序)
相关文章
- TPLink TLWR847N 无线路由器设置二级路由方法 08-30
- 舞力全开派对竞技场 舞力全开派对竞技场高胜率对战技巧与实战攻略 08-30
- Harness是什么-工程外壳和流程控制 08-30
- Atlas 血缘采集延迟从 30 秒怎么部署-环境配置 08-30
- TPLink TLWR845N 无线路由器设置为无线交换机方法 08-30
- 持续集成之Jenkins怎么安装-安装步骤和配置要求 08-30