Linux中國

如何使用命令行檢查 Linux 上的磁碟空間

快速提問:你的驅動器剩餘多少剩餘空間?一點點還是很多?接下來的提問是:你知道如何找出這些剩餘空間嗎?如果你碰巧使用的是 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)。

df output

圖 1:Elementary OS 系統上 df -H 命令的輸出結果

如果你的驅動器列表非常長並且你只想查看單個驅動器上使用的空間,該怎麼辦?對於 df 這沒問題。我們來看一下位於 /dev/sda1 的主驅動器已經使用了多少空間。為此,執行如下命令:

df -H /dev/sda1

輸出將限於該驅動器(圖 2)。

disk usage

圖 2:一個單獨驅動器空間情況

你還可以限制 df 命令結果報告中顯示指定的欄位。可用的欄位包括:

  • source — 文件系統的來源(LCTT譯註:通常為一個設備,如 /dev/sda1
  • size — 塊總數
  • used — 驅動器已使用的空間
  • avail — 可以使用的剩餘空間
  • pcent — 驅動器已經使用的空間占驅動器總空間的百分比
  • target —驅動器的掛載點

讓我們顯示所有驅動器的輸出,僅顯示 sizeusedavail 欄位。對此的命令是:

df -H --output=size,used,avail

該命令的輸出非常簡單( 圖 3 )。

output

圖 3:顯示我們驅動器的指定輸出

這裡唯一需要注意的是我們不知道該輸出的來源,因此,我們要把 source 加入命令中:

df -H --output=source,size,used,avail

現在輸出的信息更加全面有意義(圖 4)。

source

圖 4:我們現在知道了磁碟使用情況的來源

du

我們的下一個命令是 du 。 正如您所料,這代表 磁碟使用情況 disk usage du 命令與 df 命令完全不同,因為它報告目錄而不是驅動器的空間使用情況。 因此,您需要知道要檢查的目錄的名稱。 假設我的計算機上有一個包含虛擬機文件的目錄。 那個目錄是 /media/jack/HALEY/VIRTUALBOX 。 如果我想知道該特定目錄使用了多少空間,我將運行如下命令:

du -h /media/jack/HALEY/VIRTUALBOX

上面命令的輸出將顯示目錄中每個文件佔用的空間(圖 5)。

du command

圖 5 在特定目錄上運行 du 命令的輸出

到目前為止,這個命令並沒有那麼有用。如果我們想知道特定目錄的總使用量怎麼辦?幸運的是,du 可以處理這項任務。對於同一目錄,命令將是:

du -sh /media/jack/HALEY/VIRTUALBOX/

現在我們知道了上述目錄使用存儲空間的總和(圖 6)。

space used

圖 6:我的虛擬機文件使用存儲空間的總和是 559GB

您還可以使用此命令查看父項的所有子目錄使用了多少空間,如下所示:

du -h /media/jack/HALEY

此命令的輸出見(圖 7),是一個用於查看各子目錄佔用的驅動器空間的好方法。

directories

圖 7:子目錄的存儲空間使用情況

du 命令也是一個很好的工具,用於查看使用系統磁碟空間最多的目錄列表。執行此任務的方法是將 du 命令的輸出通過管道傳遞給另外兩個命令:sorthead 。下面的命令用於找出驅動器上佔用存儲空間最大的前 10 個目錄:

du -a /media/jack | sort -n -r |head -n 10

輸出將以從大到小的順序列出這些目錄(圖 8)。

top users

圖 8:使用驅動器空間最多的 10 個目錄

沒有你想像的那麼難

查看 Linux 系統上掛載的驅動器的空間使用情況非常簡單。只要你將你的驅動器掛載在 Linux 系統上,使用 df 命令或 du 命令在報告必要信息方面都會非常出色。使用 df 命令,您可以快速查看磁碟上總的空間使用量,使用 du 命令,可以查看特定目錄的空間使用情況。對於每一個 Linux 系統的管理員來說,這兩個命令的結合使用是必須掌握的。

而且,如果你沒有注意到,我最近介紹了查看 Linux 上內存使用情況的方法。總之,這些技巧將大力幫助你成功管理 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 選題:lujun9972 譯者:SunWave 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國