linux 中 df 与 du 有什么区别

df

简单来说 df (disk free) 通过文件系统来查看空间大小的信息. 或者说是用来查看各个磁盘的使用情况. 比如你电脑上有多个硬盘(没有拆分区时), df 就是来查看这些硬盘的使用情况的.

du

du (disk usage) 通过搜索文件计算大小累加,查看所有文件大小的累加和. 简单来说就是查看具体某个目录或者某个文件的大小的.

常用方法与参数

  • -h 以 K,M,G 为单位,提高信息的可读性。
  • -s 仅显示总计,只列出最后加总的值。
  • -d 目录深度 0 表示当前目录, 1 表示当前目录的第一级子目录
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// 当前目录占用大小
du -h

// 查看当前目录子目录列表使用情况
du -h -d 1

// 大小排序前10
du -h -d 1 |sort -nr| head

// 大小排序后10
du -h -d 1 |sort -nr| tail

// `/var` 目录占用的总大小 -s 汇总显示
du -sh /var

// 如果没有加 -s, 会把子目录所有的文件列出大小 (注意找个目录下文件不多的来测试)
du -h /home

// 查看所有的磁盘使用情况
df -a