Linux 磁碟空間大小統計du命令常見用法,linuxdu
在 Linux下,可以對某個檔案或檔案夾所佔空間大小進行統計,這裡將一些常用用法匯總如下:
1、對指定檔案或檔案夾進行統計,預設單位為kbyte(k或KB),下例對檔案夾testa進行統計:
[web@localhost ~]$ du -s testa
1589308 testa
2、對檔案夾統計的正確做法,如果想知道某個檔案夾所佔空間的大小,用什麼命令?直接用du可以嗎?
可以是可以,但是,它會將該檔案夾底下所有目錄都統計一遍,顯然,這不是我們想要的。正確的做法是使用 -s操作符,下面是不用-s 的結果:
[web@localhost Oracle]$ du utils
16 utils/config/10.3
172 utils/config/help/7.2.0.0/en/cw
176 utils/config/help/7.2.0.0/en
204 utils/config/help/7.2.0.0/pt_BR/cw
208 utils/config/help/7.2.0.0/pt_BR
204 utils/config/help/7.2.0.0/fr/cw
208 utils/config/help/7.2.0.0/fr
188 utils/config/help/7.2.0.0/de/cw
192 utils/config/help/7.2.0.0/de
164 utils/config/help/7.2.0.0/zh_CN/cw
168 utils/config/help/7.2.0.0/zh_CN
168 utils/config/help/7.2.0.0/zh_TW/cw
172 utils/config/help/7.2.0.0/zh_TW
176 utils/config/help/7.2.0.0/ko/cw
180 utils/config/help/7.2.0.0/ko
196 utils/config/help/7.2.0.0/es/cw
200 utils/config/help/7.2.0.0/es
192 utils/config/help/7.2.0.0/ja/cw
196 utils/config/help/7.2.0.0/ja
180 utils/config/help/7.2.0.0/it/cw
184 utils/config/help/7.2.0.0/it
1888 utils/config/help/7.2.0.0
1892 utils/config/help
1912 utils/config
8 utils/ccr/config/default
16 utils/ccr/config
3336 utils/ccr/lib
23508 utils/ccr/inventory/pending
23512 utils/ccr/inventory
180 utils/ccr/bin
16 utils/ccr/doc
27188 utils/ccr
20 utils/clone
44 utils/bsu
28 utils/quickstart/images
128 utils/quickstart
572 utils/uninstall/WebLogic_Platform_10.3.6.0
40 utils/uninstall/extftr
712 utils/uninstall
30028 utils
使用-s後:
[web@localhost Oracle]$ du -s utils
30028 utils
3、顯示實際檔案夾的大小(對實際檔案大小進行統計,而不是對所佔用磁碟空間進行統計)
[web@localhost Oracle]$ du --apparent-size utils
6 utils/config/10.3
103 utils/config/help/7.2.0.0/en/cw
107 utils/config/help/7.2.0.0/en
128 utils/config/help/7.2.0.0/pt_BR/cw
132 utils/config/help/7.2.0.0/pt_BR
128 utils/config/help/7.2.0.0/fr/cw
132 utils/config/help/7.2.0.0/fr
119 utils/config/help/7.2.0.0/de/cw
123 utils/config/help/7.2.0.0/de
94 utils/config/help/7.2.0.0/zh_CN/cw
98 utils/config/help/7.2.0.0/zh_CN
97 utils/config/help/7.2.0.0/zh_TW/cw
101 utils/config/help/7.2.0.0/zh_TW
111 utils/config/help/7.2.0.0/ko/cw
115 utils/config/help/7.2.0.0/ko
119 utils/config/help/7.2.0.0/es/cw
123 utils/config/help/7.2.0.0/es
124 utils/config/help/7.2.0.0/ja/cw
128 utils/config/help/7.2.0.0/ja
114 utils/config/help/7.2.0.0/it/cw
118 utils/config/help/7.2.0.0/it
1175 utils/config/help/7.2.0.0
1179 utils/config/help
1188 utils/config
5 utils/ccr/config/default
9 utils/ccr/config
3284 utils/ccr/lib
23456 utils/ccr/inventory/pending
23460 utils/ccr/inventory
153 utils/ccr/bin
16 utils/ccr/doc
27036 utils/ccr
7 utils/clone
30 utils/bsu
15 utils/quickstart/images
102 utils/quickstart
546 utils/uninstall/WebLogic_Platform_10.3.6.0
40 utils/uninstall/extftr
672 utils/uninstall
29055 utils
可以看到檔案的實際大小總是比佔用空間小的。
4、如果要想讓結果看起來易讀一點咋辦?也就是我們平時口中習慣說的空間大小,也就是轉換為多少G, 或多少M,或多少K,當然只是一個概數。
[web@localhost ~]$ du -s -h testa
1.6G testa
5、指定統計單位,統計單位可以是塊(512byte),byte,Kbyte(KB)等
按塊統計:
[web@localhost ~]$ du -s -B 512 testa
3178616 testa
按位元組進行統計
[web@localhost ~]$ du -s -B 1 testa
1627451392 testa
按K位元組進行統計
[web@localhost ~]$ du -s -B 1024 testa
1589308 testa
6、統計深度,比如,我不僅想看目前的目錄下各個檔案夾的大小,我還希望看到二級目錄下各個檔案夾下的大小
[web@localhost Oracle]$ du --max-depth=2
1912 ./utils/config
27188 ./utils/ccr
20 ./utils/clone
44 ./utils/bsu
128 ./utils/quickstart
712 ./utils/uninstall
30028 ./utils
21240 ./wlserver_10.3/common
4 ./wlserver_10.3/L10N
16 ./wlserver_10.3/inventory
454968 ./wlserver_10.3/server
3460 ./wlserver_10.3/sip
196 ./wlserver_10.3/uninstall
479896 ./wlserver_10.3
11936 ./coherence_3.7/lib
12 ./coherence_3.7/inventory
52 ./coherence_3.7/bin
8 ./coherence_3.7/uninstall
12024 ./coherence_3.7
228 ./modules/junit_1.0.0.0_4-5
216 ./modules/net.sf.antcontrib_1.1.0.0_1-0b2
688 ./modules/features
1852 ./modules/com.bea.weblogic.jms.dotnetclient_1.3.2.0
4164 ./modules/org.apache.ant_1.7.1
143464 ./modules
185472 ./user_projects/domains
185476 ./user_projects
24 ./logs
851044 .
也就是說對兩級目錄進行分別統計,其中對子檔案夾的統計(檔案夾內容所佔空間的和),這和單獨統計檔案夾是一樣的,如對
./wlserver_10.3/common 統計的結果是21240,單獨統計該檔案夾試試看:
[web@localhost Oracle]$ du -s ./wlserver_10.3/common
21240 ./wlserver_10.3/common
7、嫌結果輸出行數太多?那就不換行!
[web@localhost Oracle]$ du -0 utils
16 utils/config/10.3172 utils/config/help/7.2.0.0/en/cw176 utils/config/help/7.2.0.0/en204 utils/config/help/7.2.0.0/pt_BR/cw208 utils/config/help/7.2.0.0/pt_BR204 utils/config/help/7.2.0.0/fr/cw208 utils/config/help/7.2.0.0/fr188 utils/config/help/7.2.0.0/de/cw192 utils/config/help/7.2.0.0/de164 utils/config/help/7.2.0.0/zh_CN/cw168 utils/config/help/7.2.0.0/zh_CN168 utils/config/help/7.2.0.0/zh_TW/cw172 utils/config/help/7.2.0.0/zh_TW176 utils/config/help/7.2.0.0/ko/cw180 utils/config/help/7.2.0.0/ko196 utils/config/help/7.2.0.0/es/cw200 utils/config/help/7.2.0.0/es192 utils/config/help/7.2.0.0/ja/cw196 utils/config/help/7.2.0.0/ja180 utils/config/help/7.2.0.0/it/cw184 utils/config/help/7.2.0.0/it1888 utils/config/help/7.2.0.01892 utils/config/help1912 utils/config8 utils/ccr/config/default16 utils/ccr/config3336 utils/ccr/lib23508 utils/ccr/inventory/pending23512 utils/ccr/inventory180 utils/ccr/bin16 utils/ccr/doc27188 utils/ccr20 utils/clone44 utils/bsu28utils/quickstart/images128 utils/quickstart572 utils/uninstall/WebLogic_Platform_10.3.6.040 util
8、統計時,不想將某些檔案統計在內,怎麼辦,使用--exclude=[pattern]去掉,下面的例子中,對檔案夾logs進行統計:
[web@localhost logs]$ ls -l
總計 20
-rw-r--r-- 1 web weblogic 1317 07-02 09:19 log.txt
-rw-r----- 1 web weblogic 1743 07-02 09:25 wlsconfig_20140702092113.log
-rw-r----- 1 web weblogic 1743 07-02 09:27 wlsconfig_20140702092546.log
-rw-r----- 1 web weblogic 1743 07-02 09:28 wlsconfig_20140702092738.log
-rw-r----- 1 web weblogic 1743 07-02 09:29 wlsconfig_20140702092819.log
可以檔案夾中一共有5個檔案,每個檔案大小2K左右,看一下實際佔用空間大小
[web@localhost logs]$ du -s *
4 log.txt
4 wlsconfig_20140702092113.log
4 wlsconfig_20140702092546.log
4 wlsconfig_20140702092738.log
4 wlsconfig_20140702092819.log
實際每個所佔用的空間4k左右(注意:檔案佔用空間和檔案大小有區別)
[web@localhost logs]$ du --apparent-size *
2 log.txt
2 wlsconfig_20140702092113.log
2 wlsconfig_20140702092546.log
2 wlsconfig_20140702092738.log
2 wlsconfig_20140702092819.log
使用k位元組統計大約2K左右
[web@localhost logs]$ du --apparent-size -B 1 *
1317 log.txt
1743 wlsconfig_20140702092113.log
1743 wlsconfig_20140702092546.log
1743 wlsconfig_20140702092738.log
1743 wlsconfig_20140702092819.log
使用位元組統計,則和ls命令擷取的檔案大小結果一樣
[web@localhost logs]$ cd ..
[web@localhost Oracle]$ du -s logs
24 logs
不包含txt檔案後統計,大小少了4k
[web@localhost Oracle]$ du -s --exclude=*.txt logs
20 logs
9、統計符號連結,在統計某檔案夾磁碟空間大小時,符號連結實際儲存位置可能在其他分區上,預設是不進行統計的,若要進行統計,則使用-L參數
[web@localhost logs]$ ls -l ../registry.xml
-rw-r--r-- 1 web weblogic 1908 07-02 09:19 ../registry.xml
可以看到registry.xml實際大小2K左右,建立兩個符號連結:
[web@localhost logs]$ ln -s ../registry.xml ./test.xml
[web@localhost logs]$ ln -s ../registry.xml test2.xml
[web@localhost logs]$ ls -l
總計 20
-rw-r--r-- 1 web weblogic 1317 07-02 09:19 log.txt
lrwxrwxrwx 1 web weblogic 15 07-11 10:36 test2.xml -> ../registry.xml
lrwxrwxrwx 1 web weblogic 15 07-11 10:36 test.xml -> ../registry.xml
-rw-r----- 1 web weblogic 1743 07-02 09:25 wlsconfig_20140702092113.log
-rw-r----- 1 web weblogic 1743 07-02 09:27 wlsconfig_20140702092546.log
-rw-r----- 1 web weblogic 1743 07-02 09:28 wlsconfig_20140702092738.log
-rw-r----- 1 web weblogic 1743 07-02 09:29 wlsconfig_20140702092819.log
這時,可以看到統計的磁碟空間多了8k,變成了32
[web@localhost Oracle]$ du -L logs
32 logs
在linux中查看磁碟空間的大小,用什命令?
df -v
對於linux中檢查磁碟空間的命令
指令磁碟使用方式:du
指令磁碟空間例如: df -kvi /home
如果想知道更多的指令,可以打入 df --help 或 du --help