程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

centos7必备命令—du(centos7常用命令全集)

balukai 2025-07-07 14:37:49 文章精选 3 ℃

在 CentOS 7 中,du(Disk Usage)命令是分析磁盘空间占用的核心工具,尤其适合快速定位大文件或目录。

常用选项详解

  • du -h以易读格式显示大小(如 K/M/G)如图1所示
  • du -s仅显示总计大小(不递归子目录)如图2所示
  • du -a显示目录中所有文件的大小(默认只显示目录)如图3所示
  • du --max-depth=N限制递归深度(N 为目录层数)如图4所示
  • du -c显示所有项目大小后追加总计行如图5所示
  • du --exclude=PATTERN排除匹配模式的文件/目录(如 --exclude='*.log')如图6所示
  • du --time显示目录下最近修改时间如图7所示
  • du -b/-k/-m分别以字节/KB/MB 为单位显示如图8所示

实用示例场景

  1. 基础用法
  • 查看目录总大小du -sh /home # 输出如:4.8G /home如图9所示
  • 显示当前目录下一级子目录大小du -h --max-depth=1 # 深度=1,仅直系子目录如图10所示
  1. 高级分析
  • 查找大目录并排序du -h --max-depth=1 /var | sort -hr # 按大小降序排列如图11所示
  • 排除特定文件类型du -ah --exclude='*.tmp' /data # 显示所有文件大小,但排除 .tmp 文件如图12所示
  • 统计多个目录并显示总和du -shc /var/log /var/lib # 输出各目录大小后追加总计如图13所示
  1. 精准定位大文件
  • 列出大于 100MB 的文件du -ah / | grep -E '[0-9]+[MG]' | sort -hr # 全盘扫描并筛选大文件如图14所示

或结合find:如图15所示

  • 按修改时间查看目录大小du -h --time --max-depth=1 /var # 显示大小及最近修改时间如图16所示

高效排查技巧

  1. 逐层深入法

从根目录开始,逐步深入大目录:

du -h --max-depth=1 / # 定位大分区(如 /home)如图17所示

du -h --max-depth=1 /home # 定位用户目录如图18所示

  1. 排序筛选法

du -sh * | sort -h # 当前目录内容按大小升序排列如图19所示

  1. 隐藏文件检查

du -sh .[!.]* # 统计当前目录下所有隐藏文件/目录如图20所示

注意事项

  • 权限问题:部分目录需 sudo 权限才能访问(如 /root)
  • 符号链接处理:默认不跟踪符号链接(-L 选项可显示源文件大小)
  • 跨文件系统:-x 选项可避免统计其他挂载点(如 /mnt)

通过灵活组合选项,du 能快速定位磁盘瓶颈。例如排查 /var 占满时,用 du -h --max-depth=1 /var | sort -hr 可立即识别最大子目录

最近发表
标签列表