Linux 排查大文件, 两步搞定

Linux 排查大文件, 两步搞定

展示两个常用命令的用法、示例与注意事项。


1. 查看根目录下各一级目录大小(升序)

shell 复制代码
du -sh /* 2>/dev/null | sort -h

用途 :快速查看哪个一级目录占用空间最多,定位要深入排查的子树。
参数说明

  • du -s:仅显示每个条目的总计。
  • -h:可读(K/M/G)。
  • 2>/dev/null:屏蔽因无权限导致的错误信息。
  • sort -h:按人类可读数值排序(升序 )。如需 降序 ,改为 sort -hr

示例输出

bash 复制代码
4.0K    /dev
16K     /bin
120M    /boot
1.5G    /var
8.2G    /usr
20G     /home

2. 查找大文件(>500MB),并显示详细信息

bash 复制代码
find / -type f -size +500M -exec ls -lh {} + 2>/dev/null

用途 :从根开始查找超过 500MB 的普通文件,显示权限、拥有者、大小、修改时间与路径。
参数说明

  • find / -type f -size +500M:匹配大于 500MB 的文件。
  • -exec ls -lh {} + :对每个匹配文件执行 ls -lh(逐个显示详细信息)。
  • 2>/dev/null:屏蔽无权限访问的错误。
    示例输出
bash 复制代码
-rw-r--r-- 1 root  root 1.2G Apr 10 12:00 /var/log/huge.log
-rw-r--r-- 1 mysql mysql 3.5G Jun 02 03:21 /var/lib/mysql/ibdata1
-rw-r--r-- 1 user  user 700M Jul 15 09:10 /home/user/video.mov

重要注意事项(三点)

  1. 权限与速度 :从 / 搜索可能很慢并且会遇到权限问题。必要时在具体挂载点(如 /var/home)运行或使用 sudo
  2. 已删除但仍占用空间 :如果删除文件后空间未释放,可能是进程仍持有文件句柄;用 lsof -nP +L1 查找并重启/杀进程释放空间。
  3. 操作前先备份:删除或截断大文件前先确认用途并备份(特别是数据库与日志文件),避免影响服务。

小结

  • du -sh /* 2>/dev/null | sort -h 快速定位哪个一级目录占空间
  • find / -type f -size +500M -exec ls -lh {} + 2>/dev/null 列出大文件并进一步处理。
相关推荐
是乐谷5 小时前
Python图片转WebP常用库推荐:Pillow、Wand、cv2
大数据·运维·开发语言·人工智能·python·开源·pillow
工藤新一¹5 小时前
进程状态 —— Linux内核(Kernel)
linux·运维·服务器·c/c++·进程状态·linux内核(kernel)
❀͜͡傀儡师5 小时前
对于Linux下的海量文件传输,rsync 是远比 scp 更优。
linux·运维·网络·rsync
人工智能训练师5 小时前
部署在windows的docker中的dify知识库存储位置
linux·运维·人工智能·windows·docker·容器
我命由我123456 小时前
Photoshop - Ps 标尺
运维·ui·工具·设计·photoshop·ps·美工
xiezhr7 小时前
一个真·免费、真·开源的远程桌面神器——RustDesk
运维·rust·远程办公·远程
czhc114007566316 小时前
Linux 830 shell:expect,ss -ant ,while IFS=read -r line,
linux·运维·r语言
滴滴滴嘟嘟嘟.17 小时前
嵌入式Linux驱动开发:蜂鸣器驱动
linux·运维·驱动开发