du 是 Disk Usage 的缩写,用于查看目录文件(也就是 windows 中的文件夹)所占用的磁盘空间。
首先运用上一章讲到的 cd 命令进入 /usr/games 目录。接着输入 du
mateo21@mateo21-desktop:~$ cd /usr/games mateo21@mateo21-desktop:/usr/games$ du 5732 .
由于 /usr/games 下没有子目录,所以查询结果只有一行:本目录中所有文件所占用的空间。
我们再以当前用户主目录为例,这次结果会显示当前目录中所有子目录所占磁盘空间,最后一行显示当前目录的总大小。
mateo21@mateo21-desktop:/usr/games$ cd mateo21@mateo21-desktop:~$ du 400 ./.Trash 4 ./.themes 32 ./.mozilla-thunderbird/8vyw6pqo.default/Mail/Local Folders 36 ./.mozilla-thunderbird/8vyw6pqo.default/Mail 12 ./.mozilla-thunderbird/8vyw6pqo.default/US ... ... 264 ./.jedit/jars 4 ./.jedit/macros 380 ./.jedit/settings-backup 856 ./.jedit 82484 .
由于结果列表太长,这里只截取了开头和结尾部分
du -h : 以 Ko, Mo, Go 的形式显示文件大小
这里的 -h 参数与 ls 中的 -h 参数作用一模一样,都是以 K, M 为单位,更直观的显示文件大小。这种不同命令使用相同参数实现相同功能的情况在 linux 中很常见,这种设计极大的减少了记忆负担。
mateo21@mateo21-desktop:~$ du -h 400K ./.Trash 4,0K ./.themes 32K ./.mozilla-thunderbird/8vyw6pqo.default/Mail/Local Folders 36K ./.mozilla-thunderbird/8vyw6pqo.default/Mail 12K ./.mozilla-thunderbird/8vyw6pqo.default/US ... ... 264K ./.jedit/jars 4,0K ./.jedit/macros 380K ./.jedit/settings-backup 856K ./.jedit 81M .
对比加了 -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 -ah 4.0K ./espdiff 112K ./gnome-mahjongg 192K ./sol 116K ./gnome-mines 4.0K ./gnome-sudoku 432K .
前面例子中,不加 -a 的情况下,由于当前目录没有子目录,所以只会显示当前目录占用空间
du -s : 只显示当前目录总体占用的空间
s 代表 summarize,用于只显示总大小,而不显示子目录的大小。以 ~ 为例
mateo21@mateo21-desktop:~$ du -sh 81M .
转载于:https://blog.51cto.com/gipanda/1405245