无论你有多少存储空间,它总是有可能被填满。在大多数个人设备上,驱动器被照片、视频和音乐填满,但在服务器上,由于用户账户和日志文件中的数据,空间减少是很正常的。无论你是负责管理一个多用户系统,还是只负责你自己的笔记本电脑,你都可以通过du 命令检查磁盘的使用情况。
默认情况下,du 提供了你当前目录中所使用的磁盘空间的数量,以及每个子目录的大小。
在这个例子中,我的当前目录占用了全部60 KB,其中12 KB被子目录.backups 。
如果你觉得这很混乱,并希望分别看到所有的大小,你可以使用--separate-dirs (或简称为-S )选项。
$ du --separate-dirs
12 ./.backups
48 .
这是同样的信息(48和12是60),但每个目录都是独立处理的。
要看更多的细节,可以使用--all(或简称-a)选项,它显示每个目录中的每个文件。
$ du --separate-dirs --all
4 ./example.adoc
28 ./graphic.png
4 ./.backups/example.adoc~
12 ./.backups
4 ./index.html
4 ./index.adoc
48 .
查看文件的修改时间
当查看文件以找出哪些文件占用了空间时,查看一个文件最后一次被修改的时间可能很有用。一些一年没有被碰过的文件很可能是归档的候选文件,特别是当你的空间快用完时。
要用du查看文件的修改时间,请使用--time 选项。
$ du --separate-dirs --all --time
28 2021-07-21 11:12 ./graphic.png
4 2021-07-03 10:43 ./example.adoc
4 2021-07-13 13:03 ./index.html
4 2021-07-23 14:18 ./index.adoc
48 2021-07-23 14:19 .
为文件大小设置一个阈值
当为了磁盘空间的利益而审查文件时,你可能只关心大小不等的文件。你可以用--threshold (简称-t )选项为你想看的文件大小设置一个阈值。例如,只查看大于1GB的大小。
$ \du --separate-dirs --all --time --threshold=1G ~/Footage/
1839008 2021-07-14 13:55 /home/tux/Footage/snowfall.mp4
1577980 2020-04-11 13:10 /home/tux/Footage/waterfall.mp4
8588936 2021-07-14 13:55 /home/tux/Footage/
当文件大小变得特别大时,它们可能难以阅读。用--human-readable (或简称-h )选项使文件大小更容易。
$ \du --separate-dirs --all --time \
--threshold=1G --human-readable ~/Footage/
1.8G 2021-07-14 13:55 /home/tux/Footage/snowfall.mp4
1.6G 2020-04-11 13:10 /home/tux/Footage/waterfall.mp4
8.5G 2021-07-14 13:55 /home/tux/Footage/
查看可用的磁盘空间
如果只是想获得一个驱动器上还剩下多少磁盘空间的摘要,请阅读我们关于df命令的文章。