Linux目录大小查看的常用命令详解

一、du 命令基础

du(Disk Usage)命令是 Linux/Unix 系统中用于估算文件和目录磁盘使用情况的实用程序。它通过递归遍历目录结构,计算每个文件和子目录占用的磁盘空间,并以块为单位(默认情况下)显示结果。

基本语法

1

du [选项] [文件或目录]

如果不指定文件或目录,du 会默认统计当前目录及其所有子目录的磁盘使用情况。

为什么需要 -h 选项?

原始的 du 命令输出以磁盘块为单位(通常 1 块=512 字节或 1KB),这种表示方式对人类阅读不够友好。例如:

1

du data

可能输出:

1

2

3

123456  data/subdir1

789012  data/subdir2

912468  data

这样的数字难以直观理解。-h(human-readable)选项的出现解决了这个问题,它会自动选择最合适的单位(KB、MB、GB 或 TB)来显示大小:

1

du -h data

输出变为:

1

2

3

4.0K    data/subdir1

8.2M    data/subdir2

1.2G    data

二、du -h 命令详解

输出解读

du -h 的典型输出包含多行信息:

  • 子目录行:显示每个子目录的大小和路径
  • 总计行(最后一行):显示指定目录的总大小

例如:

1

2

3

4.0K    data/subdir1

8.2M    data/subdir2

1.2G    data

这里:

  • data/subdir1 占用 4.0KB
  • data/subdir2 占用 8.2MB
  • 整个 data 目录占用 1.2GB

常用选项组合

-s(汇总):仅显示总大小,不显示子目录详情

1

du -sh data

输出:

1

1.2G    data

-c(总计):在最后添加一个总计行

1

du -hc data

输出:

1

2

3

4

4.0K    data/subdir1

8.2M    data/subdir2

1.2G    data

1.2G    总用量

--max-depth=N:控制显示的目录深度

1

du -h --max-depth=1 data

只显示 data 下第一级子目录的大小

三、du 与其他命令的对比

du vs df

  • du(Disk Usage):从文件系统角度计算文件和目录占用的空间
  • df(Disk Free):显示文件系统的整体磁盘使用情况

du 更适合查找具体目录或文件占用的空间,而 df 更适合查看整个磁盘或分区的使用情况。

du vs ls -l

  • ls -l 显示的是文件的实际大小(逻辑大小)
  • du 显示的是文件占用的磁盘空间(可能因块分配而大于实际大小)

例如,一个 1 字节的文件:

  • ls -l 显示 1 字节
  • du 可能显示 4KB(取决于文件系统的块大小)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值