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/scripts8 mrwuzs/.local/share/nautilus4 mrwuzs/.local/share/unity-settings-daemon16 mrwuzs/.local/share/icc8 mrwuzs/.local/share/evolution/calendar/system4 mrwuzs/.local/share/evolution/calendar/trash16 mrwuzs/.local/share/evolution/calendar4 mrwuzs/.local/share/evolution/addressbook/system/photos32 mrwuzs/.local/share/evolution/addressbook/system4 mrwuzs/.local/share/evolution/addressbook/trash40 mrwuzs/.local/share/evolution/addressbook4 mrwuzs/.local/share/evolution/memos/trash8 mrwuzs/.local/share/evolution/memos8 mrwuzs/.local/share/evolution/tasks/system4 mrwuzs/.local/share/evolution/tasks/trash-------------------省略-----------------------44 mrwuzs/.cache/gnome-software/3.20/firmware48 mrwuzs/.cache/gnome-software/3.2052 mrwuzs/.cache/gnome-software8 mrwuzs/.cache/logrotate8 mrwuzs/.cache/update-manager-core1468 mrwuzs/.cache2336 mrwuzs/
说明:
只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的2336为当前目录的总大小
2:显示指定文件所占空间
mrwuzs@mrwuz:~/下载$ du cloudmusicsetup_2.2.3.195673.exe 33444 cloudmusicsetup_2.2.3.195673.exemrwuzs@mrwuz:~/下载$
3:查看指定目录的所占空间
mrwuzs@mrwuz:~$ du 下载/33448 下载/
4:显示多个文件所占空间
root@mrwuz:/home/test_du# du test_file01.test test_file02.test 33444 test_file01.test33444 test_file02.testroot@mrwuz:/home/test_du#
5:只显示总和的大小
root@mrwuz:/home/test_du# du -s133780 .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/logrotate8.0K home/mrwuzs/.cache/update-manager-core47M home/mrwuzs/.cache68M home/mrwuzs131M home/test_du199M home/
7:文件和目录都显示
root@mrwuz:/home# du -ah test_du/33M test_du/test_du01/test_file01.test33M test_du/test_du0133M test_du/test_file03.test4.0K test_du/test_du0233M test_du/test_file01.test4.0K test_du/test_du0333M test_du/test_file02.test33M test_du/test_file04.test164M test_du/root@mrwuz:/home#
8:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
root@mrwuz:/home/test_du# du -c test_file01.test test_file02.test 33444 test_file01.test33444 test_file02.test66888 总用量root@mrwuz:/home/test_du#
9:按照空间大小排序
root@mrwuz:/home/test_du# du|sort -nr|more167236 .33448 ./test_du014 ./test_du034 ./test_du02root@mrwuz:/home/test_du#
10:输出当前目录下各个子目录所使用的空间
root@mrwuz:/home/test_du# du -h --max-depth=133M ./test_du014.0K ./test_du024.0K ./test_du03164M .root@mrwuz:/home/test_du#