Linux中的du
命令也是查看使用空間的,與df
命令不同的是,Linux du
命令是對檔和目錄磁片使用的空間的查看,所以它和df
命令還是有一些區別的。
1.命令格式
du [選項][檔]
2.命令功能
顯示每個檔和目錄的磁片使用空間。
3.命令參數
-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
重複計算硬體鏈接的檔。
4.使用實例
實例1:顯示目錄或者檔所占空間
命令:
du
輸出:
[zaixian@localhost ~]$ du
24 ./test4
0 ./project/lib
0 ./project/bin
0 ./project/doc/info
0 ./project/doc/product
0 ./project/doc
0 ./project/logs/info
0 ./project/logs/product
0 ./project/logs
0 ./project/service/deploy/info
0 ./project/service/deploy/product
0 ./project/service/deploy
0 ./project/service
0 ./project
4 ./logs/test3
4 ./logs
4 ./scripts
84 .
[zaixian@localhost ~]$
說明:
只顯示當前目錄下麵的子目錄的目錄大小和當前目錄的總的大小,最下麵的1288為當前目錄的總大小
實例2:顯示指定檔所占空間
命令:
du log3.log
輸出:
[zaixian@localhost ~]$ du log3.log
560 log3.log
[zaixian@localhost ~]$
實例3:查看指定目錄的所占空間
命令:
du /usr/local
輸出:
[zaixian@localhost ~]$ du /usr/local/
0 /usr/local/bin
0 /usr/local/etc
0 /usr/local/games
0 /usr/local/include
0 /usr/local/lib
0 /usr/local/lib64
0 /usr/local/libexec
0 /usr/local/sbin
0 /usr/local/share/applications
0 /usr/local/share/info
0 /usr/local/share/man/man1
0 /usr/local/share/man/man1x
0 /usr/local/share/man/man2
0 /usr/local/share/man/man2x
0 /usr/local/share/man/man3
0 /usr/local/share/man/man3x
0 /usr/local/share/man/man4
0 /usr/local/share/man/man4x
0 /usr/local/share/man/man5
0 /usr/local/share/man/man5x
0 /usr/local/share/man/man6
0 /usr/local/share/man/man6x
0 /usr/local/share/man/man7
0 /usr/local/share/man/man7x
0 /usr/local/share/man/man8
0 /usr/local/share/man/man8x
0 /usr/local/share/man/man9
0 /usr/local/share/man/man9x
0 /usr/local/share/man/mann
0 /usr/local/share/man
0 /usr/local/share
163804 /usr/local/src
163804 /usr/local/
[zaixian@localhost ~]$
實例4:顯示多個檔所占空間
命令:
du file1 file2
輸出:
[zaixian@localhost test4]$ du log.tar log3.log
12 log.tar
448 log3.log
[zaixian@localhost test4]$
實例5:只顯示總和的大小
命令:
du -s
輸出:
[zaixian@localhost ~]$ du -s
1084 .
[zaixian@localhost ~]$ du -s project/
0 project/
[zaixian@localhost ~]$ du -s test4/
468 test4/
[zaixian@localhost ~]$
實例6:方便閱讀的格式顯示
命令:
du -h dir
輸出:
[zaixian@localhost ~]$ du -h project/
0 project/lib
0 project/bin
0 project/doc/info
0 project/doc/product
40K project/doc
0 project/logs/info
0 project/logs/product
152K project/logs
0 project/service/deploy/info
0 project/service/deploy/product
0 project/service/deploy
0 project/service
192K project/
[zaixian@localhost ~]$
實例7:檔和目錄都顯示
命令執行和輸出:
[zaixian@localhost ~]$ du -ah project/
0 project/lib
0 project/bin/run.py
0 project/bin
0 project/doc/info
0 project/doc/product
40K project/doc/test.txt
40K project/doc
0 project/logs/info
0 project/logs/product
148K project/logs/readme.txt
4.0K project/logs/log201710.log
152K project/logs
0 project/service/deploy/info
0 project/service/deploy/product
0 project/service/deploy
0 project/service
192K project/
[zaixian@localhost ~]$
實例8:顯示幾個檔或目錄各自佔用磁片空間的大小,還統計它們的總和
命令:
du -c log3.log log1.log text.txt
輸出:
[zaixian@localhost ~]$ ll
total 572
-rwxr-xr-x. 1 zaixian zaixian 464 Feb 15 20:58 log1.log
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 20:43 log2018.log
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 20:43 log2019.log
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 20:43 log2020.log
-rwxrwxr-x. 1 zaixian zaixian 0 Feb 15 20:43 log2.log
-rw-rw-r--. 1 zaixian zaixian 571759 Feb 17 04:02 log3.log
lrwxrwxrwx. 1 zaixian zaixian 7 Feb 15 22:46 log_link.log -> log.log
-rwxr-xr-x. 1 zaixian zaixian 0 Feb 16 21:38 log.log
drwxrwxr-x. 3 zaixian zaixian 35 Feb 16 20:54 logs
drwxrwxr-x. 7 zaixian zaixian 66 Feb 15 20:48 project
-rw-rw-r--. 1 zaixian zaixian 0 Feb 17 02:01 run.py
drwxrwxr-x. 2 root zaixian 67 Feb 17 02:38 scripts
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 21:10 test3.log
drwxrwxr-x. 2 zaixian zaixian 177 Feb 16 21:28 test4
-rw-rw-r--. 1 zaixian zaixian 19 Feb 15 21:08 text.txt
-rw-rw-r--. 1 zaixian zaixian 1 Feb 15 20:46 tmpcore.log
[zaixian@localhost ~]$ du -c log3.log log1.log text.txt
560 log3.log
4 log1.log
4 text.txt
568 total
[zaixian@localhost ~]$
說明:
加上-c
選項後,du
不僅顯示兩個目錄各自佔用磁片空間的大小,還在最後一行統計它們的總和。
實例9:按照空間大小排序
命令:
du|sort -nr|more
輸出:
[zaixian@localhost ~]$ du|sort -nr|more
1276 .
468 ./test4
192 ./project
152 ./project/logs
40 ./project/doc
4 ./scripts
4 ./logs/test3
4 ./logs
0 ./project/service/deploy/product
0 ./project/service/deploy/info
0 ./project/service/deploy
0 ./project/service
0 ./project/logs/product
0 ./project/logs/info
0 ./project/lib
0 ./project/doc/product
0 ./project/doc/info
0 ./project/bin
[zaixian@localhost ~]$
實例10:輸出當前目錄下各個子目錄所使用的空間
命令:
du -h --max-depth=1
輸出:
[zaixian@localhost ~]$ ll
total 572
-rwxr-xr-x. 1 zaixian zaixian 464 Feb 15 20:58 log1.log
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 20:43 log2018.log
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 20:43 log2019.log
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 20:43 log2020.log
-rwxrwxr-x. 1 zaixian zaixian 0 Feb 15 20:43 log2.log
-rw-rw-r--. 1 zaixian zaixian 571759 Feb 17 04:02 log3.log
lrwxrwxrwx. 1 zaixian zaixian 7 Feb 15 22:46 log_link.log -> log.log
-rwxr-xr-x. 1 zaixian zaixian 0 Feb 17 04:16 log.log
drwxrwxr-x. 3 zaixian zaixian 35 Feb 16 20:54 logs
drwxrwxr-x. 7 zaixian zaixian 66 Feb 15 20:48 project
-rw-rw-r--. 1 zaixian zaixian 0 Feb 17 02:01 run.py
drwxrwxr-x. 2 root zaixian 67 Feb 17 02:38 scripts
-rw-rw-r--. 1 zaixian zaixian 0 Feb 15 21:10 test3.log
drwxrwxr-x. 2 zaixian zaixian 177 Feb 16 21:28 test4
-rw-rw-r--. 1 zaixian zaixian 19 Feb 15 21:08 text.txt
-rw-rw-r--. 1 zaixian zaixian 1 Feb 15 20:46 tmpcore.log
[zaixian@localhost ~]$ du -h --max-depth=1
468K ./test4
192K ./project
4.0K ./logs
4.0K ./scripts
1.3M .
[zaixian@localhost ~]$