如何在筛选时排除特定文件类型?
美国、香港服务器
如何在筛选时排除特定文件类型?
09-12 来源:
在 ncdu 中筛选时排除特定文件类型(如 .log、.gz 等),可通过 命令行参数 --exclude 实现,该参数能在扫描阶段就过滤掉指定类型的文件或目录,从而递归应用到所有子目录。以下是具体方法:
核心方法:使用 --exclude 参数排除特定文件类型
ncdu 的 --exclude 参数支持通过 通配符 匹配文件类型,格式为 --exclude "*.扩展名",扫描时会自动跳过所有匹配的文件。
常用示例:
排除所有日志文件(.log 及 .log.* 压缩日志)
扫描 /var 目录(系统日志多存于此),但排除 .log 结尾的文件和 .log.1.gz 等压缩日志:
bash
sudo ncdu /var --exclude "*.log" --exclude "*.log.*"
排除所有压缩文件(.zip、.tar.gz、.rar 等)
扫描 /home 目录时,排除各类压缩包:
bash
ncdu /home --exclude "*.zip" --exclude "*.tar.gz" --exclude "*.rar" --exclude "*.7z"
排除特定类型的临时文件(如 .tmp、.swp)
扫描网站目录时,排除临时文件和编辑器缓存文件:
bash
ncdu /www/wwwroot --exclude "*.tmp" --exclude "*.swp"
结合大小筛选,排除特定类型后只看大文件
扫描根目录,排除 .log 文件,且只显示大于 100MB 的项:
bash
sudo ncdu / --exclude "*.log" --minimal-size 100M --exclude /proc
参数说明
--exclude "*.扩展名":* 是通配符,匹配任意字符,*.log 表示所有以 .log 结尾的文件;
可多次使用 --exclude 排除多种类型(如同时排除 .log 和 .zip);
该参数会 递归应用到所有子目录,无需额外设置,扫描时自动跳过匹配的文件。
注意事项
区分文件和目录:若需排除特定类型的目录(如名称含 tmp 的目录),可直接写目录名匹配,例如 --exclude "*tmp*" 排除名称含 tmp 的目录 / 文件;
引号的作用:通配符需用双引号 " 包裹,避免被系统 shell 提前解析;
排除虚拟文件系统:扫描 / 时,建议同时排除 /proc、/sys 等虚拟目录(--exclude /proc),避免干扰结果。
总结
排除特定文件类型的核心命令是:
bash
ncdu [目标目录] --exclude "*.扩展名1" --exclude "*.扩展名2" ...
通过该方法,可在扫描阶段过滤掉无需关注的文件类型,让筛选结果更聚焦于需要分析的文件,提高磁盘空间分析效率。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快