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 列出大文件并进一步处理。
相关推荐
Arenaschi3 小时前
Android
android·linux·运维·笔记·其他·docker
敲上瘾3 小时前
Docker多容器编排:Compose 实战教程
linux·运维·docker·容器·架构
yes_is_ok7 小时前
自动化单mysql多实例库的全量迁移脚本
运维·mysql·自动化
Sadsvit8 小时前
HAProxy 完整指南:简介、负载均衡原理与安装配置
linux·运维·服务器·负载均衡
xx.ii9 小时前
52.haproxy负载均衡
运维·负载均衡
silence2509 小时前
CentOS 下使用 LVM 扩展根分区空间的完整流程
linux·运维·centos
toooooop89 小时前
linux centos 脚本批量启动宝塔服务(二)
linux·运维·centos
9毫米的幻想9 小时前
【Linux系统】—— 进程切换&&进程优先级&&进程调度
linux·运维·服务器·c++·学习·算法
CIb0la10 小时前
介绍一套体系化的工作流程或学习方法:标准化输出
运维·笔记·学习·学习方法
维尔切10 小时前
Apache Tomcat 部署与配置
java·linux·运维·tomcat·apache