Linux 的 du 命令

du(disk usage)命令是 Linux/Unix 系统中用于查看文件和目录磁盘使用情况的实用工具。它能够递归地计算指定目录下所有文件和子目录所占用的磁盘空间。

基本语法

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

常用选项

  1. -h--human-readable:以人类易读的格式显示(KB、MB、GB)

    复制代码
    du -h /home/user
  2. -s--summarize:只显示总用量,不显示子目录详情

    复制代码
    du -sh /var/log
  3. -a--all:显示所有文件的统计,包括普通文件

    复制代码
    du -ah /etc
  4. -c--total:显示所有文件/目录的总和

    复制代码
    du -ch /usr/local/*
  5. --max-depth=N:设置递归深度

    复制代码
    du -h --max-depth=1 /usr
  6. --exclude=PATTERN:排除匹配模式的文件或目录

    复制代码
    du -h --exclude='*.log' /var

实际应用示例

  1. 查看当前目录磁盘使用情况:

    复制代码
    du -sh .
  2. 查看指定目录下各子目录大小(只显示一级):

    复制代码
    du -h --max-depth=1 /usr
  3. 找出系统中占用空间最大的目录:

    复制代码
    du -h / | sort -rh | head -10
  4. 监控日志目录大小(排除压缩文件):

    复制代码
    du -sh --exclude='*.gz' /var/log
  5. 计算多个目录总大小:

    复制代码
    du -csh /home /usr /var

输出解释

du 命令的输出通常包含两列:

  • 第一列:磁盘使用量(默认以 KB 为单位,使用 -h 选项后会转换为易读格式)
  • 第二列:文件或目录路径

注意事项

  1. du 统计的是磁盘使用量,可能与文件实际大小不同(因为磁盘分配的最小单位是块)

  2. 对于大型目录,du 可能需要较长时间计算

  3. 默认情况下,du 不会统计符号链接指向的文件(除非使用 -L 选项)

  4. 某些特殊文件(如设备文件)可能不会被正确统计

相关推荐
Web3探索者1 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo3 小时前
Linux系统中网线与USB网络共享冲突
linux
荣--5 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10151 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏