如何在排除特定文件类型的同时筛选文件大小?
美国、香港服务器
如何在排除特定文件类型的同时筛选文件大小?
09-12 来源:
在 ncdu 中可以同时结合排除特定文件类型和筛选文件大小,通过组合使用 --exclude(排除类型)和 --minimal-size(筛选大小)参数实现,这两个参数会协同作用到所有子目录,递归递归生效。以下是具体方法和示例:
核心命令格式
bash
ncdu [目标目录] --exclude "*.需要排除的扩展名" --minimal-size 最小大小
--exclude "*.xxx":排除所有以 .xxx 结尾的文件类型(支持多个 --exclude 参数排除多种类型);
--minimal-size N:只显示大小超过 N 的文件 / 目录(N 可带单位:K 千字节、M 兆字节、G 千兆字节)。
实用示例
1. 排除日志文件,只看大于 100MB 的文件
扫描 /var 目录(系统日志集中地),排除 .log 和 .log.gz 等日志文件,只显示 100MB 以上的大文件:
bash
sudo ncdu /var \
--exclude "*.log" \
--exclude "*.log.gz" \
--minimal-size 100M
2. 排除压缩包,筛选大于 500MB 的网站文件
扫描网站目录 /www,排除 .zip、.tar.gz 等压缩包,只关注 500MB 以上的文件(如视频、大型数据库备份):
bash
ncdu /www \
--exclude "*.zip" \
--exclude "*.tar.gz" \
--exclude "*.rar" \
--minimal-size 500M
3. 排除临时文件,筛选 1GB 以上的系统文件
扫描根目录 /,排除 .tmp 临时文件和 /proc 虚拟目录,只显示 1GB 以上的大文件 / 目录:
bash
sudo ncdu / \
--exclude "*.tmp" \
--exclude /proc \
--exclude /sys \
--minimal-size 1G
参数说明
多类型排除:可重复使用 --exclude 参数,分别排除不同类型(如同时排除 .log、.zip、.swp 等);
大小单位:--minimal-size 支持 K(1024 字节)、M(1024K)、G(1024M),例如 500M 表示 500 兆字节;
递归生效:两个参数均会自动应用到所有子目录,无需额外设置,扫描结果会递归过滤符合条件的文件。
注意事项
通配符引号:--exclude 后的通配符(如 *.log)必须用双引号 " 包裹,否则可能被系统 Shell 提前解析,导致筛选失效;
权限问题:扫描系统目录(如 /、/var)时需加 sudo,否则可能因权限不足无法扫描部分文件,导致结果不完整;
排除目录:若需排除特定目录(如 /mnt 外部挂载盘),可直接用 --exclude /mnt(无需通配符),与文件类型排除不冲突。
总结
通过组合 --exclude 和 --minimal-size 参数,能精准筛选出 “特定大小以上且不属于排除类型” 的文件,尤其适合在海量文件中快速定位需要清理的大文件(如排除日志和压缩包后,聚焦于超大视频、冗余备份等)。执行命令后,ncdu 会在扫描完成后直接展示符合条件的结果,按大小排序(默认),便于优先处理最大的文件。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快