如何通过 Linux 的 find 命令查找大于某个大小的文件?

问题浏览数Icon
18
问题创建时间Icon
2025-05-25 04:27:00
作者头像
smallbear09

用find命令加-size参数就行。比如在终端输入:find 目录路径 -type f -size +大小,具体像 find /home -type f -size +100M 就是找/home下超过100MB的文件。M是兆,换成G就是GB,k是KB,数字前面的加号别漏了哈!

更多回答

作者头像
moonyou66

使用Linux的find命令查找大于指定大小的文件,可通过-size参数结合单位标识实现。基本语法为:

find [路径] -type f -size +[大小]

示例:查找/var/log目录下大于100MB的文件:

find /var/log -type f -size +100M

关键参数解析

  • -type f:限定搜索对象为文件。
  • -size +[值]+表示“大于”,支持单位:
    • c(字节)、k(KB)、M(MB)、G(GB)。
  • -exec扩展(可选):对结果执行操作,如删除:
    find /path -type f -size +1G -exec rm -f {} \;

注意事项

  1. 需具备目标路径的读取权限,必要时用sudo
  2. 单位区分大小写(如M为MB,m可能无效)。
  3. 结合-mtime可筛选特定时间范围的大文件(如-mtime +30表示30天前)。
作者头像
guangming01

使用 find 命令的 -size 参数,例如 find /path -type f -size +50M 查找大于50MB的文件。+表示大于,单位可以是M(MB)、G(GB)等。

作者头像
cloudlion7

在Linux中,可通过find命令结合-size参数高效筛选指定大小的文件。例如:

  1. 基本语法

    find <路径> -type f -size +<大小>
    • <路径>:搜索目录(如.表示当前目录)。
    • +<大小>+表示“大于”,单位可为c(字节)、k(KB)、M(MB)、G(GB)。
  2. 常用示例

    • 查找当前目录下超过100MB的文件:
      find . -type f -size +100M
    • 查找/var/log目录下大于1GB的文件并显示详情:
      find /var/log -type f -size +1G -ls
    • 查找并删除超过10GB的文件(谨慎使用):
      find /path -type f -size +10G -exec rm -f {} \;
  3. 注意事项

    • 权限不足时需搭配sudo
    • 反向筛选(小于某大小)可使用-size -<值>
    • -type f确保仅筛选文件,避免误操作目录。
作者头像
icegear2024

为什么不试试结合 dusort 命令,按文件大小排序或许更直观?