https://www.linux.com/learn/intro-to-linux/2018/6how-check-disk-space-linux-command-line
作者 | Jack Wallen
譯者 | SunWave ??共計翻譯:4 篇 貢獻時間:367 天
Linux 提供了所有必要的工具來幫助你確切地發現你的驅動器上剩餘多少空間。Jack 在這裡展示瞭如何做。
快速提問:你的驅動器剩餘多少剩餘空間?一點點還是很多?接下來的提問是:你知道如何找出這些剩餘空間嗎?如果你碰巧使用的是 GUI 桌面( 例如 GNOME、KDE、Mate、Pantheon 等 ),則任務可能非常簡單。但是,當你要在一個沒有 GUI 桌面的伺服器上查詢剩餘空間,你該如何去做呢?你是否要為這個任務安裝相應的軟體工具?答案是絕對不是。在 Linux 中,具備查詢驅動器上的剩餘磁碟空間的所有工具。事實上,有兩個非常容易使用的工具。
在本文中,我將演示這些工具。我將使用 Elementary OS[1](LCTT譯註:Elementary OS 是基於 Ubuntu 精心打磨美化的桌面 Linux 發行版 ),它還包括一個 GUI 方式,但我們將限制自己僅使用命令列。好訊息是這些命令列工具隨時可用於每個 Linux 發行版。在我的測試系統中,連線了許多的驅動器(內部的和外部的)。使用的命令與連線驅動器的位置無關,僅僅與驅動器是否已經掛載好並且對作業系統可見有關。
言歸正傳,讓我們來試試這些工具。
df
df
命令是我第一個用於在 Linux 上查詢驅動器空間的工具,時間可以追溯到 20 世紀 90 年代。它的使用和報告結果非常簡單。直到今天,df
還是我執行此任務的首選命令。此命令有幾個選項開關,對於基本的報告,你實際上只需要一個選項。該命令是 df -H
。-H
選項開關用於將 df
的報告結果以人類可讀的格式進行顯示。df -H
的輸出包括:已經使用了的空間量、可用空間、空間使用的百分比,以及每個磁碟連線到系統的掛載點(圖 1)。
圖 1:Elementary OS 系統上 df -H
命令的輸出結果
如果你的驅動器串列非常長並且你只想檢視單個驅動器上使用的空間,該怎麼辦?對於 df
這沒問題。我們來看一下位於 /dev/sda1
的主驅動器已經使用了多少空間。為此,執行如下命令:
df -H /dev/sda1
輸出將限於該驅動器(圖 2)。
圖 2:一個單獨驅動器空間情況
你還可以限制 df
命令結果報告中顯示指定的欄位。可用的欄位包括:
source
— 檔案系統的來源(LCTT譯註:通常為一個裝置,如 /dev/sda1
)size
— 塊總數used
— 驅動器已使用的空間avail
— 可以使用的剩餘空間pcent
— 驅動器已經使用的空間佔驅動器總空間的百分比target
—驅動器的掛載點讓我們顯示所有驅動器的輸出,僅顯示 size
,used
,avail
欄位。對此的命令是:
df -H --output=size,used,avail
該命令的輸出非常簡單( 圖 3 )。
圖 3:顯示我們驅動器的指定輸出
這裡唯一需要註意的是我們不知道該輸出的來源,因此,我們要把 source
加入命令中:
df -H --output=source,size,used,avail
現在輸出的資訊更加全面有意義(圖 4)。
圖 4:我們現在知道了磁碟使用情況的來源
du
我們的下一個命令是 du
。 正如您所料,這代表磁碟使用情況。 du
命令與 df
命令完全不同,因為它報告目錄而不是驅動器的空間使用情況。 因此,您需要知道要檢查的目錄的名稱。 假設我的計算機上有一個包含虛擬機器檔案的目錄。 那個目錄是 /media/jack/HALEY/VIRTUALBOX
。 如果我想知道該特定目錄使用了多少空間,我將執行如下命令:
du -h /media/jack/HALEY/VIRTUALBOX
上面命令的輸出將顯示目錄中每個檔案佔用的空間(圖 5)。
圖 5 在特定目錄上執行 du
命令的輸出
到目前為止,這個命令並沒有那麼有用。如果我們想知道特定目錄的總使用量怎麼辦?幸運的是,du
可以處理這項任務。對於同一目錄,命令將是:
du -sh /media/jack/HALEY/VIRTUALBOX/
現在我們知道了上述目錄使用儲存空間的總和(圖 6)。
圖 6:我的虛擬機器檔案使用儲存空間的總和是 559GB
您還可以使用此命令檢視父項的所有子目錄使用了多少空間,如下所示:
du -h /media/jack/HALEY
此命令的輸出見(圖 7),是一個用於檢視各子目錄佔用的驅動器空間的好方法。
圖 7:子目錄的儲存空間使用情況
du
命令也是一個很好的工具,用於檢視使用系統磁碟空間最多的目錄串列。執行此任務的方法是將 du
命令的輸出透過管道傳遞給另外兩個命令:sort
和 head
。下麵的命令用於找出驅動器上佔用儲存空間最大的前 10 個目錄:
du -a /media/jack | sort -n -r |head -n 10
輸出將以從大到小的順序列出這些目錄(圖 8)。
圖 8:使用驅動器空間最多的 10 個目錄
沒有你想像的那麼難
檢視 Linux 系統上掛載的驅動器的空間使用情況非常簡單。只要你將你的驅動器掛載在 Linux 系統上,使用 df
命令或 du
命令在報告必要資訊方面都會非常出色。使用 df
命令,您可以快速檢視磁碟上總的空間使用量,使用 du
命令,可以檢視特定目錄的空間使用情況。對於每一個 Linux 系統的管理員來說,這兩個命令的結合使用是必須掌握的。
而且,如果你沒有註意到,我最近介紹了檢視 Linux 上記憶體使用情況的方法[2]。總之,這些技巧將大力幫助你成功管理 Linux 伺服器。
透過 Linux Foundation 和 edX 免費提供的 “Linux 簡介” 課程,瞭解更多有關 Linux 的資訊。
via: https://www.linux.com/learn/intro-to-linux/2018/6how-check-disk-space-linux-command-line
作者:Jack Wallen[4] 選題:lujun9972 譯者:SunWave 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出