每天一个Linux命令(03):du命令

du命令

今天找开发定位问题,看到他使用了这个命令,查看文件,之前知道df,所以今天的每天系列把这命令

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法

du 【选项】【文件】

选项

-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。

实例

1:显示目录或者文件所占空间

mrwuzs@mrwuz:/home$ du mrwuzs/
4 mrwuzs/文档
4 mrwuzs/.local/share/nautilus/scripts
8 mrwuzs/.local/share/nautilus
4 mrwuzs/.local/share/unity-settings-daemon
16 mrwuzs/.local/share/icc
8 mrwuzs/.local/share/evolution/calendar/system
4 mrwuzs/.local/share/evolution/calendar/trash
16 mrwuzs/.local/share/evolution/calendar
4 mrwuzs/.local/share/evolution/addressbook/system/photos
32 mrwuzs/.local/share/evolution/addressbook/system
4 mrwuzs/.local/share/evolution/addressbook/trash
40 mrwuzs/.local/share/evolution/addressbook
4 mrwuzs/.local/share/evolution/memos/trash
8 mrwuzs/.local/share/evolution/memos
8 mrwuzs/.local/share/evolution/tasks/system
4 mrwuzs/.local/share/evolution/tasks/trash
-------------------省略-----------------------
44 mrwuzs/.cache/gnome-software/3.20/firmware
48 mrwuzs/.cache/gnome-software/3.20
52 mrwuzs/.cache/gnome-software
8 mrwuzs/.cache/logrotate
8 mrwuzs/.cache/update-manager-core
1468 mrwuzs/.cache
2336 mrwuzs/

说明:

只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的2336为当前目录的总大小

2:显示指定文件所占空间

mrwuzs@mrwuz:~/下载$ du cloudmusicsetup_2.2.3.195673.exe
33444 cloudmusicsetup_2.2.3.195673.exe
mrwuzs@mrwuz:~/下载$

3:查看指定目录的所占空间

mrwuzs@mrwuz:~$ du 下载/
33448 下载/

4:显示多个文件所占空间

root@mrwuz:/home/test_du# du test_file01.test test_file02.test
33444 test_file01.test
33444 test_file02.test
root@mrwuz:/home/test_du#

5:只显示总和的大小

root@mrwuz:/home/test_du# du -s
133780 .
root@mrwuz:/home/test_du#

6:方便阅读的格式显示

root@mrwuz:/# du -h  home/
4.0K home/mrwuzs/文档
4.0K home/mrwuzs/.local/share/nautilus/scripts
****省略*****************
8.0K home/mrwuzs/.cache/logrotate
8.0K home/mrwuzs/.cache/update-manager-core
47M home/mrwuzs/.cache
68M home/mrwuzs
131M home/test_du
199M home/

7:文件和目录都显示

root@mrwuz:/home# du -ah test_du/
33M test_du/test_du01/test_file01.test
33M test_du/test_du01
33M test_du/test_file03.test
4.0K test_du/test_du02
33M test_du/test_file01.test
4.0K test_du/test_du03
33M test_du/test_file02.test
33M test_du/test_file04.test
164M test_du/
root@mrwuz:/home#

8:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

root@mrwuz:/home/test_du# du -c test_file01.test test_file02.test
33444 test_file01.test
33444 test_file02.test
66888 总用量
root@mrwuz:/home/test_du#

9:按照空间大小排序

root@mrwuz:/home/test_du# du|sort -nr|more
167236 .
33448 ./test_du01
4 ./test_du03
4 ./test_du02
root@mrwuz:/home/test_du#

10:输出当前目录下各个子目录所使用的空间

root@mrwuz:/home/test_du# du -h  --max-depth=1
33M ./test_du01
4.0K ./test_du02
4.0K ./test_du03
164M .
root@mrwuz:/home/test_du#
上一篇:Android Studio 如何在TextView中设置图标并按需调整图标大小


下一篇:『线段树 Segment Tree』