Linux命令之df查看磁盤空間使用情況

一,查看磁盤空間大小的命令:df

df命令用於查看磁盤分區上的磁盤空間,包括使用了多少,還剩多少,默認單位是KB
比如以下命令:df -h

執行結果如下:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-root  165G   25G  141G  15% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G     0  7.8G   0% /dev/shm
tmpfs                    7.8G   18M  7.8G   1% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/loop0               4.2G  4.2G     0 100% /mnt/cdrom
/dev/sda1                950M  177M  773M  19% /boot
tmpfs                    1.6G   12K  1.6G   1% /run/user/42
tmpfs                    1.6G     0  1.6G   0% /run/user/0

執行的結果每列的含義:

    第一列Filesystem,磁盤分區

    第二列Size,磁盤分區的大小

    第三列Used,已使用的空間

    第四列Avail,可用的空間

    第五列Use%,已使用的百分比

    第六列Mounted on,掛載點

解釋一下後面的h和l參數,h是把顯示的單位改成容易辨認的單位,不再是默認的KB了,而l參數表示只顯示本地磁盤分區,不包含的分區比如其他服務器共享的磁盤。

下面附上df命令的全部參數使用說明:

    -a或--all:包含全部的文件系統;
    --block-size=<區塊大小>:以指定的區塊大小來顯示區塊數目;
    -h或--human-readable:以可讀性較高的方式來顯示信息;
    -H或--si:與-h參數相同,但在計算時是以1000 Bytes爲換算單位而非1024 Bytes;
    -i或--inodes:顯示inode的信息;
    -k或--kilobytes:指定區塊大小爲1024字節;
    -l或--local:僅顯示本地端的文件系統;
    -m或--megabytes:指定區塊大小爲1048576字節;
    --no-sync:在取得磁盤使用信息前,不要執行sync指令,此爲預設值;
    -P或--portability:使用POSIX的輸出格式;
    --sync:在取得磁盤使用信息前,先執行sync指令;
    -t<文件系統類型>或--type=<文件系統類型>:僅顯示指定文件系統類型的磁盤信息;
    -T或--print-type:顯示文件系統的類型;
    -x<文件系統類型>或--exclude-type=<文件系統類型>:不要顯示指定文件系統類型的磁盤信息;
    --help:顯示幫助;
    --version:顯示版本信息。

查看某一個文件夾使用情況:df -h /home

[root@glkjdevapp /]# df -h /home
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-root  165G   25G  141G  15% /


二,查看文件和目錄大小的命令:du

du是用來查看文件和目錄大小用的,和df略有區別


1,比如要看/data目錄的總大小,可以用以下命令:

du -sh /home/data

執行果如下:

[root@glkjdevapp home]# du /home/data
74532    /home/data

或者進到/data目錄後直接執行:du -sh

執行結果如下:

[root@glkjdevapp data]# du
74532    .

其中的-s參數就是查看總大小(區別於查看其中每個目錄的大小),而-h參數是把默認的單位KB改爲比較好辨認的單位。

 

2,如果要看/data目錄下各個子目錄的大小,包括子目錄的子目錄,但不包含/data下文件,可以用以下命令:

du -h
注:該命令不包含/data目錄下的文件大小

 

3,如果要看/data目錄下各個子目錄的大小,包括子目錄的子目錄,且包含/data下文件,可以用以下命令:

du –h *

4,如果要看/data目錄下各個子目錄的大小,不包括子目錄的子目錄,可以用以下命令:

du -sh *

5,如果要看/data目錄下各個子目錄和文件的大小,需要使用-a參數:

du -ah

下面附上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 重複計算硬件鏈接的文件。


 三,排序命令,sort

sort命令可以用於將文件內容排序並輸出,也可以用於將某些查詢命令的執行結果排序後輸出


比如要將文件夾中的文件按大小排序,可以用以下命令:

du -a|sort  升序

du -a|sort  -rn 倒序

前面的du –a就是列出目錄下所有的文件和目錄的大小,後面的sort命令就是排序。

其中-r參數代表反向排序,因爲sort默認是從小到大排序的,加-r是從大到小排序

-n代表按照數字排序,只認數字不認單位,本例中的數字就是文件大小,單位是默認的KB,所以這個命令不能用du -ah,這會使排序結果出現2M小於100K的情況。

 

附上sort命令各參數的使用說明:

    -b:忽略每行前面開始出的空格字符;
    -c:檢查文件是否已經按照順序排序;
    -d:排序時,處理英文字母、數字及空格字符外,忽略其他的字符;
    -f:排序時,將小寫字母視爲大寫字母;
    -i:排序時,除了040至176之間的ASCII字符外,忽略其他的字符;
    -m:將幾個排序號的文件進行合併;
    -M:將前面3個字母依照月份的縮寫進行排序;
    -n:依照數值的大小排序;
    -o<輸出文件>:將排序後的結果存入制定的文件;
    -r:以相反的順序來排序;
    -t<分隔字符>:指定排序時所用的欄位分隔字符;
    +<起始欄位>-<結束欄位>:以指定的欄位來排序,範圍由起始欄位到結束欄位的前一欄位。

由參數可見sort命令主要還是用於文件內容輸出的

 
四,只顯示前幾行的命令,head

head命令可以用於顯示文件的前幾行,也可以用於顯示某些查詢命令結果的前幾行


比如要將文件夾中的文件按大小排序,而且只看最大的幾個,可以用以下命令:

du -a|sort -rn|head -5

執行結果:

[root@glkjdevapp nodejs]# du -a|sort -rn|head -5
153612    .
71972    ./nodejs_v10
42344    ./VBM
40152    ./nodejs_v10/bin/node
40152    ./nodejs_v10/bin

 

head後面的-5表示顯示前5行,不加數字則默認顯示前10行


附上head命令各參數的使用說明:

    -n<數字>:指定顯示頭部內容的行數;
    -c<字符數>:指定顯示頭部內容的字符數;
    -v:總是顯示文件名的頭信息;
    -q:不顯示文件名的頭信息。



參考 原文鏈接:https://blog.csdn.net/lkforce/article/details/80917306

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章