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

相关推荐
棒棒的唐5 分钟前
armbian平台ubuntu环境下telnet安装及启动,给pantherX2增加一个应急通道
linux·运维·armbian·telnetd
bug攻城狮6 分钟前
CentOS 7 设置静态 IP 地址
linux·tcp/ip·centos
纳切威15 分钟前
CentOS 7部署Zabbix5.0
linux·运维·centos·zabbix
sunshine-sm18 分钟前
CentOS Steam 9安装 MySQL 8
linux·运维·服务器·数据库·mysql·centos·centos stream
bug攻城狮19 分钟前
CentOS 7 快速检查软件包是否已安装的5种方法
linux·运维·centos
DONG9991 小时前
ubuntu 22 安装轻量级桌面Xfce并使用xrdp远程桌面连接
linux·运维·ubuntu
呆萌小新@渊洁2 小时前
linux升级系统,重启出现Minimal BASH-like line editingis supported
linux·服务器
ajassi20002 小时前
开源 C++ QT Widget 开发(十四)多媒体--录音机
linux·c++·qt·开源
zwhSunday3 小时前
Linux驱动开发(2)进一步理解驱动
linux·驱动开发
Miraitowa_cheems3 小时前
LeetCode算法日记 - Day 38: 二叉树的锯齿形层序遍历、二叉树最大宽度
java·linux·运维·算法·leetcode·链表·职场和发展