掌握Linux du命令:高效查看文件和目录大小

今天我们在生产环境中的服务器上收到了有关/var磁盘目录使用率较高的警报。为了解决这一问题,我们进行了/var目录下一些大文件的清理和转移操作。在查找那些占用磁盘空间较多的文件时,我们频繁使用了du命令。在Linux系统中,du命令是一款功能强大且实用的工具,可用于查看文件和目录的磁盘使用情况。本文将深入探讨du命令的使用方法和一些常见选项,以协助您更全面地理解和有效地管理系统中的存储空间。

linux-du.jpg

du命令简介

du命令是Disk Usage的缩写,用于显示文件和目录的磁盘使用情况。通过du命令,你可以快速了解哪些文件或目录占用了大量的存储空间,从而更好地进行磁盘管理。

基本语法

du命令的基本语法为:

css 复制代码
du [选项] [文件或目录]

常用选项

  • -h, --human-readable: 以易读的格式显示文件和目录的大小,例如KB、MB、GB等。
  • -s, --summarize: 仅显示总的磁盘使用情况,不显示每个子目录的详细信息。
  • -c, --total: 在最后一行显示总的磁盘使用情况,包括所有指定的文件或目录。
  • --max-depth=N选项: 你可以限制显示的目录深度,只显示指定深度内的信息。

实例演示

  • 查看当前目录磁盘使用情况
bash 复制代码
du -h

这将会以易读的格式显示磁盘使用情况,方便阅读。

_20240205224930.jpg

  • 显示总的磁盘使用情况
bash 复制代码
du -ch

使用-c选项,你可以在输出的最后一行看到总的磁盘使用情况,包括所有子目录。

_20240205225242.jpg

  • 查看当前目录下的文件或文件夹的使用情况
bash 复制代码
du -sh *

_20240205225423.jpg

  • 查看当前目录下的所有文件夹的使用情况
ini 复制代码
du -h --max-depth=1

du命令默认显示所有子目录的磁盘使用情况。如果想要只显示当前目录的情况,可以使用 --max-depth=1 选项。

_20240205225624.jpg

  • 查找最大的目录

结合sort命令,你可以找到目录中占用空间最大的目录:

bash 复制代码
du -h | sort -rh | head -n 5

这将显示目录中占用空间最大的5个目录。

_20240205230222.jpg

  • 排除特定文件或目录

有时候,你可能希望排除某些文件或目录不计算在磁盘使用中。这可以通过--exclude选项来实现。例如,排除所有.yml文件:

ini 复制代码
du -sh * --exclude='*.yml'

_20240205231846.jpg

  • 监控目录变化

可以结合watch命令,实时监控目录的变化:

bash 复制代码
watch -n 1 du -sh *

_20240205232039.jpg

总结

du命令是Linux系统中一个强大的磁盘管理工具,通过灵活使用它的选项,你可以更好地了解和控制系统中文件和目录的磁盘使用情况。以上介绍的一些技巧和案例只是冰山一角,深入学习du命令将为你在系统管理中提供更多便利。希望这篇文章对你有所帮助!

相关推荐
Web3探索者5 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo7 小时前
Linux系统中网线与USB网络共享冲突
linux
Sokach10151 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒5 天前
TShark:Wireshark CLI 功能
linux
A小辣椒5 天前
TShark:基础知识
linux
AlfredZhao6 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao6 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi