掌握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命令将为你在系统管理中提供更多便利。希望这篇文章对你有所帮助!

相关推荐
handler0118 分钟前
Linux基础知识(1)
linux·服务器·c语言·开发语言·数据结构·c++
ん贤22 分钟前
手敲Linux命令
linux·运维·服务器
泽020228 分钟前
OJBalancer ----- 基于负载均衡仿leetcode的刷题界面
linux·leetcode·负载均衡
花间相见33 分钟前
【Linux进阶01】—— tmux原理与实战教程
linux·运维·服务器
Bert.Cai36 分钟前
Linux groupadd命令详解
linux·运维
路溪非溪37 分钟前
抓取手机的蓝牙HCI日志并分析
linux·arm开发·驱动开发·智能手机
有谁看见我的剑了?37 分钟前
新服务器上线优化调整
linux·运维·服务器
成为你的宁宁37 分钟前
【apt update突然报错Temporary failure resolving ‘cn.archive.ubuntu.com‘】
linux·运维·ubuntu
凤年徐43 分钟前
【Linux从入门到进阶】打包压缩、跨平台互传、内核版本、热键历史、关机与Shell原理一篇全搞定
linux·运维·服务器
i建模44 分钟前
Linux 服务器上配置 XFCE 桌面以实现远程登录
linux·运维·服务器