对于分析磁盘使用情况,有两个非常好用的命令:du 和 df 。简单来说,这两个命令的作用是这样的:

  • du 命令:它是英文单词 disk usage 的简写,主要用于查看文件与目录占用多少磁盘空间;
  • df 命令:它是英文单词 disk free 的简写,主要用于查看磁盘被使用了多少空间、剩余多少空间,等等。

特别是在磁盘爆满的情况下,这两个命令结合起来非常好用。
但是,这两个命令毕竟是分开的,要是能整合起来该多好,毕竟都是同类型的命令。
别说,还真有人把这两个命令整合起来,它就是:duf 命令!
duf 是一个用 Golang 编写的跨磁盘使用情况分手工具,它可以以表格(自适应)的形式输出磁盘使用情况,而且还可以根据需求对结果进行排序,使用非常方便!

1、duf命令的安装

以 Ubuntu 为例,不能直接使用 apt-get 命令安装,需要手动安装。
首先,从 GitHub 上下载 duf 命令的安装包:

  1. $ wget https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.deb

然后,再使用 dpkg 命令安装:

  1. $ dpkg -i duf_0.8.1_linux_amd64.deb

MacOS 平台安装:

  1. $ brew install duf
  2. # 或者
  3. $ sudo port selfupdate && sudo port install duf

Windows 平台安装:

  1. choco install duf
  2. # 或者
  3. scoop install duf

2、duf命令的使用

最基本的使用,就是直接 duf 三个字母,不加任何参数,非常简单。这种用法会输出所有本地设备、已挂载的任何云存储设备以及任何其他特殊设备(包括临时存储位置等)的详细信息。

  1. $ duf

分析磁盘使用情况——duf - 图1
可以看到,它是以彩色及可视化符号形式显示磁盘使用情况(在 Ubuntu 自带终端工具下),非常直观,也非常养眼。
这里信息毕竟有点多,如果只想查看本地设备磁盘使用信息,可以加上 --only local 选项:

  1. $ duf --only local

分析磁盘使用情况——duf - 图2
当磁盘爆满的时候,肯定比较关心哪些磁盘用量比较大,所以可以根据磁盘使用量进行排序,这时需要加上 --sort used 选项:
分析磁盘使用情况——duf - 图3
同理,还可以使用 --sort size 对磁盘容量进行排序。
如果想知道所有文件系统的使用情况(包括不可见文件系统),可以加上 --all 选项:

  1. $ duf --all

(结果有点长,就不截图了)
也可以直接针对某个文件、设备或者挂载点进行查看:

  1. $ duf /home

分析磁盘使用情况——duf - 图4
如果想获得 JSON 格式的输出,还可以加上 --json 选项:

  1. $ duf --json

分析磁盘使用情况——duf - 图5
除了查看块使用情况,还可以通过 --inodes 选项查看 inodes 用量:
分析磁盘使用情况——duf - 图6

3、小结

duf 命令是 du 和 df 的整合版,可以查看更多信息,同时提供自适应表格及可视化视图,使用体验比原生 df 或 du 命令更佳。