如何使用命令行檢查Linux上的磁盤空間
Linux 提供了所有必要的工具來幫助你確切地發(fā)現(xiàn)你的驅(qū)動(dòng)器上剩余多少空間。Jack 在這里展示了如何做。
快速提問:你的驅(qū)動(dòng)器剩余多少剩余空間?一點(diǎn)點(diǎn)還是很多?接下來的提問是:你知道如何找出這些剩余空間嗎?如果你碰巧使用的是 GUI 桌面( 例如 GNOME、KDE、Mate、Pantheon 等 ),則任務(wù)可能非常簡單。但是,當(dāng)你要在一個(gè)沒有 GUI 桌面的服務(wù)器上查詢剩余空間,你該如何去做呢?你是否要為這個(gè)任務(wù)安裝相應(yīng)的軟件工具?答案是絕對(duì)不是。在 Linux 中,具備查找驅(qū)動(dòng)器上的剩余磁盤空間的所有工具。事實(shí)上,有兩個(gè)非常容易使用的工具。
在本文中,我將演示這些工具。我將使用 Elementary OS(LCTT譯注:Elementary OS 是基于 Ubuntu 精心打磨美化的桌面 Linux 發(fā)行版 ),它還包括一個(gè) GUI 方式,但我們將限制自己僅使用命令行。好消息是這些命令行工具隨時(shí)可用于每個(gè) Linux 發(fā)行版。在我的測試系統(tǒng)中,連接了許多的驅(qū)動(dòng)器(內(nèi)部的和外部的)。使用的命令與連接驅(qū)動(dòng)器的位置無關(guān),僅僅與驅(qū)動(dòng)器是否已經(jīng)掛載好并且對(duì)操作系統(tǒng)可見有關(guān)。
言歸正傳,讓我們來試試這些工具。
df
df
命令是我***個(gè)用于在 Linux 上查詢驅(qū)動(dòng)器空間的工具,時(shí)間可以追溯到 20 世紀(jì) 90 年代。它的使用和報(bào)告結(jié)果非常簡單。直到今天,df
還是我執(zhí)行此任務(wù)的***命令。此命令有幾個(gè)選項(xiàng)開關(guān),對(duì)于基本的報(bào)告,你實(shí)際上只需要一個(gè)選項(xiàng)。該命令是 df -H
。-H
選項(xiàng)開關(guān)用于將 df
的報(bào)告結(jié)果以人類可讀的格式進(jìn)行顯示。df -H
的輸出包括:已經(jīng)使用了的空間量、可用空間、空間使用的百分比,以及每個(gè)磁盤連接到系統(tǒng)的掛載點(diǎn)(圖 1)。
圖 1:Elementary OS 系統(tǒng)上 df -H
命令的輸出結(jié)果
如果你的驅(qū)動(dòng)器列表非常長并且你只想查看單個(gè)驅(qū)動(dòng)器上使用的空間,該怎么辦?對(duì)于 df
這沒問題。我們來看一下位于 /dev/sda1
的主驅(qū)動(dòng)器已經(jīng)使用了多少空間。為此,執(zhí)行如下命令:
df -H /dev/sda1
輸出將限于該驅(qū)動(dòng)器(圖 2)。
圖 2:一個(gè)單獨(dú)驅(qū)動(dòng)器空間情況
你還可以限制 df
命令結(jié)果報(bào)告中顯示指定的字段??捎玫淖侄伟ǎ?/p>
source
— 文件系統(tǒng)的來源(LCTT譯注:通常為一個(gè)設(shè)備,如/dev/sda1
)size
— 塊總數(shù)used
— 驅(qū)動(dòng)器已使用的空間avail
— 可以使用的剩余空間pcent
— 驅(qū)動(dòng)器已經(jīng)使用的空間占驅(qū)動(dòng)器總空間的百分比target
—驅(qū)動(dòng)器的掛載點(diǎn)
讓我們顯示所有驅(qū)動(dòng)器的輸出,僅顯示 size
,used
,avail
字段。對(duì)此的命令是:
df -H --output=size,used,avail
該命令的輸出非常簡單( 圖 3 )。
圖 3:顯示我們驅(qū)動(dòng)器的指定輸出
這里唯一需要注意的是我們不知道該輸出的來源,因此,我們要把 source
加入命令中:
df -H --output=source,size,used,avail
現(xiàn)在輸出的信息更加全面有意義(圖 4)。
圖 4:我們現(xiàn)在知道了磁盤使用情況的來源
du
我們的下一個(gè)命令是 du
。 正如您所料,這代表磁盤使用情況。 du
命令與 df
命令完全不同,因?yàn)樗鼒?bào)告目錄而不是驅(qū)動(dòng)器的空間使用情況。 因此,您需要知道要檢查的目錄的名稱。 假設(shè)我的計(jì)算機(jī)上有一個(gè)包含虛擬機(jī)文件的目錄。 那個(gè)目錄是 /media/jack/HALEY/VIRTUALBOX
。 如果我想知道該特定目錄使用了多少空間,我將運(yùn)行如下命令:
du -h /media/jack/HALEY/VIRTUALBOX
上面命令的輸出將顯示目錄中每個(gè)文件占用的空間(圖 5)。
圖 5 在特定目錄上運(yùn)行 du
命令的輸出
到目前為止,這個(gè)命令并沒有那么有用。如果我們想知道特定目錄的總使用量怎么辦?幸運(yùn)的是,du
可以處理這項(xiàng)任務(wù)。對(duì)于同一目錄,命令將是:
du -sh /media/jack/HALEY/VIRTUALBOX/
現(xiàn)在我們知道了上述目錄使用存儲(chǔ)空間的總和(圖 6)。
圖 6:我的虛擬機(jī)文件使用存儲(chǔ)空間的總和是 559GB
您還可以使用此命令查看父項(xiàng)的所有子目錄使用了多少空間,如下所示:
du -h /media/jack/HALEY
此命令的輸出見(圖 7),是一個(gè)用于查看各子目錄占用的驅(qū)動(dòng)器空間的好方法。
圖 7:子目錄的存儲(chǔ)空間使用情況
du
命令也是一個(gè)很好的工具,用于查看使用系統(tǒng)磁盤空間最多的目錄列表。執(zhí)行此任務(wù)的方法是將 du
命令的輸出通過管道傳遞給另外兩個(gè)命令:sort
和 head
。下面的命令用于找出驅(qū)動(dòng)器上占用存儲(chǔ)空間***的前 10 個(gè)目錄:
du -a /media/jack | sort -n -r |head -n 10
輸出將以從大到小的順序列出這些目錄(圖 8)。
圖 8:使用驅(qū)動(dòng)器空間最多的 10 個(gè)目錄
沒有你想像的那么難
查看 Linux 系統(tǒng)上掛載的驅(qū)動(dòng)器的空間使用情況非常簡單。只要你將你的驅(qū)動(dòng)器掛載在 Linux 系統(tǒng)上,使用 df
命令或 du
命令在報(bào)告必要信息方面都會(huì)非常出色。使用 df
命令,您可以快速查看磁盤上總的空間使用量,使用 du
命令,可以查看特定目錄的空間使用情況。對(duì)于每一個(gè) Linux 系統(tǒng)的管理員來說,這兩個(gè)命令的結(jié)合使用是必須掌握的。
而且,如果你沒有注意到,我最近介紹了查看 Linux 上內(nèi)存使用情況的方法。總之,這些技巧將大力幫助你成功管理 Linux 服務(wù)器。