天天看點

Linux檢視磁盤使用空間

分享知識傳遞快樂

最近公司伺服器磁盤空間總是時不時的爆滿,導緻伺服器持掉,故寫此定時任務來判斷磁盤空間。在裡省略定時任務代碼,直接看Shell指令執行操作。

先來認識和了解一下磁盤管理DF的指令參數。

df指令磁盤管理

df指令用于顯示磁盤分區上的可使用的磁盤空間。預設顯示機關為KB。可以利用該指令來擷取硬碟被占用了多少空間,目前還剩下多少空間等資訊。

文法

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 -hl 檢視磁盤剩餘空間
  • df -h 檢視每個根路徑的分區大小
  • du -sh [目錄名] 傳回該目錄的大小
  • du -sm [檔案夾] 傳回該檔案夾總M數
  • du -h [目錄名] 檢視指定檔案夾下的所有檔案大小(包含子檔案夾)

取得每個分區的使用百分比(不要百分号)

df -k | awk '{print int($5)}'

df -TPh|awk '{print +$6}'

[guest@localhost ~]$ df -k
檔案系統          1K-塊    已用     可用 已用% 挂載點
/dev/sda2      28296708 4508932 23787776   16% /
devtmpfs        1917956       0  1917956    0% /dev
tmpfs           1932652       0  1932652    0% /dev/shm
tmpfs           1932652    9152  1923500    1% /run
tmpfs           1932652       0  1932652    0% /sys/fs/cgroup
tmpfs            386532      12   386520    1% /run/user/42
tmpfs            386532       0   386532    0% /run/user/1000
[guest@localhost ~]$ df -k | awk '{print int($5)}'
0
16
0
0
1
0
1
0
[guest@localhost ~]


-------------------------------------------


[guest@localhost ~]$ df -TPh
檔案系統       類型      容量  已用  可用 已用% 挂載點
/dev/sda2      xfs        27G  4.4G   23G   16% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/1000
[guest@localhost ~]$ df -TPh|awk '{print +$6}'
0
16
0
0
1
0
1
0
[guest@localhost ~]$ df -TPh|awk '{print $5}'
可用
23G
1.9G
1.9G
1.9G
1.9G
378M
378M
[guest@localhost ~]$      

取得每個分區的使用百分比(要百分号)

df -TPh|awk '{print $6}'
[guest@localhost ~]$ df -TPh|awk '{print $6}'
已用%
16%
0%
0%
1%
0%
1%
0%
[guest@localhost ~]$      

執行的結果每列的含義:

  • 第一列(Filesystem),磁盤分區
  • 第二列(Size),磁盤分區的大小
  • 第三列(Used),已使用的空間
  • 第四列(Avail),可用的空間
  • 第五列(Use%),已使用的百分比
  • 第六列(Mounted on),挂載點

最後,根據shell執行腳本傳回的資訊來判斷磁盤的使用空間。

繼續閱讀