du 是 Disk Usage 的缩写,用于查看目录文件(也就是 windows 中的文件夹)所占用的磁盘空间。
首先运用讲到的 cd 命令进入 /usr/games 目录。接着输入 du
mateo21@mateo21-desktop:~$ cd /usr/gamesmateo21@mateo21-desktop:/usr/games$ du5732 .
由于 /usr/games 下没有子目录,所以查询结果只有一行:本目录中所有文件所占用的空间。
我们再以当前用户主目录为例,这次结果会显示当前目录中所有子目录所占磁盘空间,最后一行显示当前目录的总大小。
mateo21@mateo21-desktop:/usr/games$ cdmateo21@mateo21-desktop:~$ du400 ./.Trash4 ./.themes32 ./.mozilla-thunderbird/8vyw6pqo.default/Mail/Local Folders36 ./.mozilla-thunderbird/8vyw6pqo.default/Mail12 ./.mozilla-thunderbird/8vyw6pqo.default/US......264 ./.jedit/jars4 ./.jedit/macros380 ./.jedit/settings-backup856 ./.jedit82484 .
由于结果列表太长,这里只截取了开头和结尾部分
du -h : 以 Ko, Mo, Go 的形式显示文件大小
这里的 -h 参数与 ls 中的 -h 参数作用一模一样,都是以 K, M 为单位,更直观的显示文件大小。这种不同命令使用相同参数实现相同功能的情况在 linux 中很常见,这种设计极大的减少了记忆负担。
mateo21@mateo21-desktop:~$ du -h400K ./.Trash4,0K ./.themes32K ./.mozilla-thunderbird/8vyw6pqo.default/Mail/Local Folders36K ./.mozilla-thunderbird/8vyw6pqo.default/Mail12K ./.mozilla-thunderbird/8vyw6pqo.default/US......264K ./.jedit/jars4,0K ./.jedit/macros380K ./.jedit/settings-backup856K ./.jedit81M .
对比加了 -h 参数和没加参数的最后一行,显然 81M 比 82484 好认多了。
du -a : 显示所有文件 (目录文件和普通文件)
与 ls 中一样,-a 代表所有。不同的是,ls 默认不显示隐藏文件,所以ls -a 的所有指的是包括隐藏文件。du 默认只显示目录文件,加了 -a 之后显示结果将包括目录文件和普通文件,以 /usr/games/ 为例
mateo21@mateo21-desktop:~$ cd /usr/games/mateo21@mateo21-desktop:/usr/games$ du -ah4.0K ./espdiff112K ./gnome-mahjongg192K ./sol116K ./gnome-mines4.0K ./gnome-sudoku432K .
前面例子中,不加 -a 的情况下,由于当前目录没有子目录,所以只会显示当前目录占用空间
du -s : 只显示当前目录总体占用的空间
s 代表 summarize,用于只显示总大小,而不显示子目录的大小。以 ~ 为例
mateo21@mateo21-desktop:~$ du -sh81M .