歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> du 使用詳解 查看一級目錄大小

du 使用詳解 查看一級目錄大小

日期:2017/3/3 12:44:41   编辑:Linux技術

du

-h --max-depth=1 |grep [TG] |sort #查找上G和T的目錄並排序du

-sh #統計當前目錄的大小,以直觀方式展現du

-h --max-depth=1 |grep 'G' |sort #查看上G目錄並排序du

-sh --max-depth=1 #查看當前目錄下所有一級子目錄文件夾大小du

-h --max-depth=1 |sort #查看當前目錄下所有一級子目錄文件夾大小 並排序du

-h --max-depth=1 |grep [TG] |sort -nr #倒序排FreeBSD下是這樣的du

-hd 1 | sortdu

-hd 1 |grep [GT] | sortdu命令功能說明:統計目錄(或文件)所占磁盤空間的大小。語  法:du

[-abcDhHklmsSx]

[-L <符號連接>][-X

<文件>][--block-size][--exclude=<目錄或文件>]

[--max-depth=<目錄層數>][--help][--version][目錄或文件]常用參數:-a或-all

為每個指定文件顯示磁盤使用情況,或者為目錄中每個文件顯示各自磁盤使用情況。-b或-bytes

顯示目錄或文件大小時,以byte為單位。-c或–total

除了顯示目錄或文件的大小外,同時也顯示所有目錄或文件的總和。-D或–dereference-args

顯示指定符號連接的源文件大小。-h或–human-readable

以K,M,G為單位,提高信息的可讀性。-H或–si

與-h參數相同,但是K,M,G是以1000為換算單位,而不是以1024為換算單位。-k或–kilobytes

以1024 bytes為單位。-l或–count-links

重復計算硬件連接的文件。-L<符號連接>或–dereference<符號連接>

顯示選項中所指定符號連接的源文件大小。-m或–megabytes

以1MB為單位。-s或–summarize

僅顯示總計,即當前目錄的大小。-S或–separate-dirs

顯示每個目錄的大小時,並不含其子目錄的大小。-x或–one-file-xystem

以一開始處理時的文件系統為准,若遇上其它不同的文件系統目錄則略過。-X<文件>或–exclude-from=<文件>

在<文件>指定目錄或文件。–exclude=<目錄或文件>

略過指定的目錄或文件。–max-depth=<目錄層數>

超過指定層數的目錄後,予以忽略。–help

顯示幫助。–version

顯示版本信息。linux中的du命令使用示例:1>

要顯示一個目錄樹及其每個子樹的磁盤使用情況du

/home/linux這在/home/linux目錄及其每個子目錄中顯示了磁盤塊數。2>

要通過以1024字節為單位顯示一個目錄樹及其每個子樹的磁盤使用情況du

-k /home/linux這在/home/linux目錄及其每個子目錄中顯示了

1024 字節磁盤塊數。3>

以MB為單位顯示一個目錄樹及其每個子樹的磁盤使用情況du

-m /home/linux這在/home/linux目錄及其每個子目錄中顯示了

MB 磁盤塊數。4>

以GB為單位顯示一個目錄樹及其每個子樹的磁盤使用情況du

-g /home/linux這在/home/linux目錄及其每個子目錄中顯示了

GB 磁盤塊數。5>查看當前目錄下所有目錄以及子目錄的大小:du

-h .“.”代表當前目錄下。也可以換成一個明確的路徑-h表示用K、M、G的人性化形式顯示6>查看當前目錄下user目錄的大小,並不想看其他目錄以及其子目錄:du

-sh user-s表示總結的意思,即只列出一個總結的值du

-h –max-depth=0 user–max-depth=n表示只深入到第n層目錄,此處設置為0,即表示不深入到子目錄。7>列出user目錄及其子目錄下所有目錄和文件的大小:du

-ah user-a表示包括目錄和文件8>列出當前目錄中的目錄名不包括xyz字符串的目錄的大小:du

-h –exclude=’*xyz*’9>想在一個屏幕下列出更多的關於user目錄及子目錄大小的信息:du

-0h user-0(槓零)表示每列出一個目錄的信息,不換行,而是直接輸出下一個目錄的信息。10>只顯示一個目錄樹的全部磁盤使用情況[maple@linux

~]$[maple@linux

~]$ du8

./test/links8

./test/dir/subdir18

./test/dir/subdir220

./test/dir160

./test108

./test21492

.[maple@linux

~]$[maple@linux

~]$ du -08

./test/links8 ./test/dir/subdir18 ./test/dir/subdir220 ./test/dir160 ./test108 ./test21492 .[maple@linux ~]$ du -c8

./test/links8

./test/dir/subdir18

./test/dir/subdir220

./test/dir160

./test108

./test21492

.1492

total[maple@linux

~]$[maple@linux

~]$ du -h8.0K

./test/links8.0K

./test/dir/subdir18.0K

./test/dir/subdir220K

./test/dir160K

./test108K

./test21.5M

.[maple@linux

~]$[maple@linux

~]$ du -k8

./test/links8

./test/dir/subdir18

./test/dir/subdir220

./test/dir160

./test108

./test21492

.[maple@linux

~]$[maple@linux

~]$ du -sh1.5M

.[maple@linux

~]$[maple@linux

~]$ du -S8

./test/links8

./test/dir/subdir18

./test/dir/subdir24

./test/dir132

./test108

./test21224

.[maple@linux

~]$[maple@linux

~]$ du -Sh --exclude="sub*"8.0K

./test/links4.0K

./test/dir132K

./test108K

./test21.2M

.[maple@linux

~]$[maple@linux

~]$ du -h8.0K

./test/links8.0K

./test/dir/subdir18.0K

./test/dir/subdir220K

./test/dir160K

./test108K

./test21.5M

.[maple@linux

~]$命令用途du(disk

usage)命令可以計算文件或目錄所占的磁盤空間。沒有指定任何選項時,它會測量當前工作目錄與其所有子目錄,分別顯示各個目錄所占的快數,最後才顯示工作目錄所占總快數。命令格式du

[OPTION]… [FILE]…-a,

–all包括了所有的文件,而不只是目錄–apparent-sizeprint

apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger dueto

holes in (’sparse’) files, internal fragmentation, indirect blocks, and the like-B,

–block-size=SIZE use SIZE-byte blocks-b,

–bytes 以字節為計算單位-k

以千字節(KB)為計算單位-m

以兆字節(M)為計算單位-c,

–total 最後加上一個總計(系統缺省)-D,

–dereference-argsdereference

FILEs that are symbolic links-H

跟 - -si效果一樣。-h,

–human-readable 以比較閱讀的方式輸出文件大小信息 (例如,1K 234M 2G)。注:該選項在很多其他命令(df, ls)中也有效。–si

跟-h 效果一樣,只是以1000為換算單位-l,

–count-links 計算所有的文件大小,對硬鏈接文件,則計算多次。-L,

–dereference 顯示選項中所指定符號連接的源文件大小。-P,

–no-dereference 不跟隨任何的符號連接(缺省)-S,

–separate-dirs 計算目錄所占空間時不包括子目錄的大小。-s,

–summarize 只顯示工作目錄所占總空間-x,

–one-file-system 以一開始處理時的文件系統為准,若遇上其它不同的文件系統目錄則略過。-X

FILE, –exclude-from=FILE 排除掉指定的FILE–exclude=PATTERN

排除掉符合樣式的文件,Pattern就是普通的Shell樣式,?表示任何一個字符,*表示任意多個字符。–max-depth=N只列出深度小於max-depth的目錄和文件的信息

–max-depth=0 的時候效果跟–s是 一樣使用案例root@ubuntu:/#

cd /home/web/root@ubuntu:/home/web#

du -s793832

.–不指定FILE名字計算出當前目錄所占用的空間大小。root@ubuntu:/#$

du -sh776M

.–不指定FILE名字計算出當前目錄所占用的空間大小。-h選項使得輸出結果跟容易閱讀(跟上例比較)root@ubuntu:/#$

du –max-depth=1 -h–輸出當前目錄下各個子目錄所使用的空間83M

./java87M

./build197M

./jboss128M

./lib1.1M

./bin52K

./synclogs4.8M

./sql920K

./conf52K

./logs20K

./mail_group56K

./.svn144M

./htdocs56K

./jboss-conf2.7M

./auto-conf8.0K

./.mule23M

./classes43M

./templates144K

./project776M

.找出大文件磁盤空間被耗盡的時候,免不了要清理一下,比如說/home目錄太大,就可以使用下面命令看看到底是誰:du

-s /home/* | sort -nr[root@SVN

svnhome]# du -h --max-depth=1 |grep [TG] |sort -nr518G

./sichuandian474G

./zgx162G

./20kc98G

./bgong80G

./s73G

./yn44G

./siua1235G

./cdtielug1331G

./kifa22G

./zhhu22G

./shae118G

./eCaker17G

./1-youswu16G

./20kc14G

./sicngda14G

./be116.5G

./service5.4G

./YNmeeting5.2G

./YNkangjia5.0G

./1-1hongqinshan4.6G

./doucaiku4.6G

./bunopertion3.7G

./naax112.6G

./yneries2.6G

./teamals2.4G

./sichxue2.4G

./1cm1.8G

./Yb1.7T

.1.7G

./ynedate1.3G

./cddshe1.2G

./YmD

Copyright © Linux教程網 All Rights Reserved