<p>find 命令用 -size 选项按大小查找大文件,需配合 -type f 限定普通文件,单位支持 c/k/M/G,+ 表示大于、- 表示小于;常用组合包括屏蔽错误、按名称过滤、结合 -mtime 时间筛选、用 -exec ls -lh 格式化显示,或用 du + sort 替代以准确统计磁盘占用。</p>

直接用 find 按大小找大文件,核心是 -size 选项,配合 -type f 确保只查普通文件,避免目录干扰。
按阈值查找大于指定大小的文件
这是最常用的方式。单位支持 c(字节)、k(KB)、M(MB)、G(GB)。加 + 表示“大于”,不加则为“等于”,加 - 表示“小于”。
- 查找根目录下所有大于 500MB 的文件:
find / -type f -size +500M 2>/dev/null
加2>/dev/null是为了屏蔽大量“权限拒绝”报错,让结果更清晰。 - 查找当前目录及子目录中大于 100MB 的日志文件:
find . -type f -name "*.log" -size +100M - 查找大于 2GB 且修改时间在最近 30 天内的文件:
find /var -type f -size +2G -mtime -30
同时显示文件大小和路径,方便识别
光列出路径不够直观,加上 -exec ls -lh {} \; 可以让每个结果都带人类可读大小(如 1.2G、845M)和权限信息。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 查找并格式化显示大于 300MB 的文件:
find /home -type f -size +300M -exec ls -lh {} \; 2>/dev/null - 若只想看前 10 个结果,可追加
| head -n 10:
找真正“占磁盘最多”的几个文件(推荐用于空间排查)
单纯用 find -size 有时会遗漏:比如硬链接共享同一数据块、稀疏文件、加密容器等。此时更可靠的做法是用 du 统计实际磁盘占用,再排序取 Top N。
- 列出当前目录下磁盘占用最大的前 10 个文件:
du -h * 2>/dev/null | sort -hr | head -n 10 - 从根目录开始(需 sudo 权限),跳过挂载点,找最大 5 个文件:
sudo du -h / 2>/dev/null --exclude=/proc --exclude=/sys --exclude=/dev | sort -hr | head -n 5
常见注意事项
避免踩坑,提高效率和准确性:
-
-size 100M表示“正好 100MB”,不是“≥100MB”;要大于必须写+100M - 搜索根目录时,建议加
2>/dev/null或限定路径(如/var、/home),防止权限错误刷屏 - 不要对
/proc、/sys、/dev等虚拟文件系统做深度find -size,可能卡住或返回异常结果 - 如果目标是清理空间,优先关注
/var/log、/tmp、用户主目录下的缓存与下载目录

















