帮助中心

在 Linux 中查找大文件 打印

  • 0
  • linux

在Linux中查找大文件可以通过多种命令实现,以下是几种常用的方法:


1. 使用 find 命令查找指定大小的文件

  • 查找大于100MB的文件

    bash
    复制
    find /path/to/search -type f -size +100M
    • /path/to/search:替换为要搜索的目录(如 / 表示整个系统,. 表示当前目录)。

    • -type f:仅搜索文件(排除目录)。

    • -size +100M:筛选大小超过100MB的文件。

  • 显示文件大小

    bash
    复制
    find /path/to/search -type f -size +100M -exec du -h {} \;
    • -exec du -h {} \;:对每个找到的文件执行 du -h 以显示可读大小。


2. 使用 du 结合 sort 和 head 列出最大文件/目录

  • 查看当前目录下各文件/目录的大小

    bash
    复制
    du -sh *
  • 列出系统中最大的10个文件/目录

    bash
    复制
    sudo du -ah / | sort -rh | head -n 10
    • -a:显示所有文件(包括隐藏文件)。

    • -h:以人类可读格式(如KB、MB)显示大小。

    • sort -rh:按人类可读的数值逆序排序。

    • head -n 10:仅显示前10个结果。

  • 仅显示文件(排除目录)

    bash
    复制
    sudo find / -type f -exec du -h {} + | sort -rh | head -n 10

3. 快速定位大文件并忽略权限错误

  • 忽略权限拒绝的错误

    bash
    复制
    sudo find / -type f -size +500M 2>/dev/null
    • 2>/dev/null:将错误信息(如权限不足)重定向到黑洞,避免干扰输出。

  • 组合命令(显示大小并排序)

    bash
    复制
    sudo find / -type f -size +500M -exec du -h {} + 2>/dev/null | sort -rh

4. 按文件大小排序的 ls 命令

  • 当前目录下按大小逆序排序

    bash
    复制
    ls -lS
    • -S:按文件大小排序。

    • -l:显示详细信息。


总结

  • 快速定位大文件:用 find 直接筛选(如 find / -size +1G)。

  • 查看详细大小并排序:用 du + sort(如 du -ah | sort -rh | head)。

  • 权限问题:添加 sudo 或忽略错误(2>/dev/null)。

根据需求选择合适的方法,处理系统文件时谨慎使用 sudo 避免误操作。

这篇文章有帮助吗?
« 返回