如何使用命令行檢查Linux上的磁盤空間
Linux 提供了所有必要的工具來幫助你確切地發現你的驅動器上剩余多少空間。Jack 在這里展示了如何做。
快速提問:你的驅動器剩余多少剩余空間?一點點還是很多?接下來的提問是:你知道如何找出這些剩余空間嗎?如果你碰巧使用的是 GUI 桌面( 例如 GNOME、KDE、Mate、Pantheon 等 ),則任務可能非常簡單。但是,當你要在一個沒有 GUI 桌面的服務器上查詢剩余空間,你該如何去做呢?你是否要為這個任務安裝相應的軟件工具?答案是絕對不是。在 Linux 中,具備查找驅動器上的剩余磁盤空間的所有工具。事實上,有兩個非常容易使用的工具。
在本文中,我將演示這些工具。我將使用 Elementary OS(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 上內存使用情況的方法。總之,這些技巧將大力幫助你成功管理 Linux 服務器。