查詢Linux目錄下所有檔案總大小


您可以使用各種命令來獲取Linux目錄下所有檔案的總大小。Linux中也有一些GUI工具可以更簡單地顯示目錄的總大小。

獲取有關目錄的正確資訊可以幫助使用者找到整個系統的儲存分配情況。這就是為什麼Linux使用者總是尋找查詢目錄總大小的方法。

在本指南中,我們將解釋在Linux上查詢目錄中所有檔案總大小的各種方法。

查詢Linux目錄下所有檔案總大小

讓我們從您可以嘗試顯示目錄中檔案大小的命令開始:

du命令

預設情況下,大多數Linux發行版都包含du命令(表示磁碟使用情況)。透過此命令,您可以以多種格式獲取目錄大小,因此讓我們簡單地執行du命令:

~$: du
830720 ./Information
166144  ./Images
996868

當您不帶引數鍵入du命令時,它只顯示以千位元組為單位的總目錄大小。因此,如果您只想查詢當前目錄大小(不包括子目錄),可以使用`--summarize`或`-s`選項:

~$: du -s
996868  .

您可以使用`-h`選項以更易讀的格式獲取輸出。

~$: du -h
812M ./Information
163M  ./Images
974M  .
~$: du -sh
974M  .

數字表示使用的空間,字母M、G和K分別表示兆位元組、千兆位元組和千位元組。

**額外提示** — du命令預設顯示目錄的大小。您可以透過向du命令新增`--apparent-size`選項來查詢其表觀大小。

~$: du -sh --apparent-size
973  .

“表觀大小”是指目錄的實際大小。如果您想檢視特定目錄的大小而不是當前目錄的大小,可以使用以下命令:

~$: du -sh ~/Documents 
974M  /home/prateek/Documents

**注意** —您可能會發現某些條目中存在錯誤,因為您沒有許可權訪問該目錄。使用`sudo`/`su`命令獲取管理員許可權,這將消除您的錯誤。

您可以根據需要獲取目錄大小。為此,您需要新增大小格式,例如'k'(千位元組)或'm'(兆位元組),如下所示:

~$: du -k ~/Documents 
830720 /home/prateek/Documents/Information
166144 /home/prateek/Documents/Images
996868  /home/prateek/Documents

使用`-c`選項與du命令一起使用,可以查詢目錄的總大小:

~$: du -sch 
974 . 
974 total

您可以使用以下du命令查詢排除某些檔案後的目錄大小:

~$: du -sch --exclude '*.sh' 
974 . 
974 total

以上命令顯示目錄大小,不包括所述檔案的大小。使用`max-depth`選項,您可以將掃描限制設定為特定級別。

du -hc --max-depth=N <path of the directory>
Or
du -dN -hc

這裡,N用於目錄級別。例如,讓我們掃描子目錄的第一層:

~$: du -hc --max-depth=1 
4.0K ./Pictures 
974M ./Documents 
4.0K ./Music 
12K ./.gnupg 
113M ./snap 
60M ./.cache 
776K ./.config 
664K ./.local 
4.0K ./Desktop 
4.0K ./Videos 
4.0K ./.ssh 
4.0K ./Templates 
4.0K ./Public 
8.0K ./opt 
4.0K ./Downloads 
1.2G 
1.2G total

您會注意到,在上面的命令中,我們去掉了`-s`引數並使用了`-d`引數,以便您可以找出特定目錄佔用了多少空間。這樣,您可以找出多個目錄級別的尺寸。

使用帶有`-a`標誌的du命令,您可以獲取目錄及其檔案和子目錄的大小。

du -ah 

要根據它們使用的磁碟大小對子目錄進行排序,請使用以下命令:

~$: du -h --max-depth=N | sort -hr 
974 . 
812 ./Information
163 ./Images

使用最大空間的子目錄將顯示在頂部。

ncdu命令

ncdu命令代表“ncdu磁碟使用情況”,它並非預裝在某些Linux發行版中。您可以使用以下命令輕鬆安裝它:

sudo apt install ncdu -y (for Ubuntu/Debian)
sudo yum install ncdu (RedHat/CentOS)

此命令顯示目錄的互動式顯示,如下所示:

ncdu

執行以下命令後,它將顯示有關目錄總大小的完整資訊:

ncdu 1.15.1 - Use the arrow keys to navigate press ? for help
 --- /home/prateek  ----------------------------------------------------------                
  973.5 MiB [####### ##] /Documents
  112.4 MiB [#          ] /snap 
  59.2 MiB  [           ] /.cache 
  776.0 KiB [           ] /.config 
  664.0 KtB [           ] /.local 
  12.0 KiB  [           ] /.gnupg 
  8.0 KiB   [           ] /opt 
e 4.0 KiB   [           ] /Videos 
e 4.0 KiB   [           ] /Templates 
e 4.0 KiB   [           ] /Public 
e 4.0 KiB   [           ] /Pictures 
e 4.0 KiB   [           ] /Music 
e 4.0 KiB   [           ] /Downloads 
e 4.0 KiB   [           ] /Desktop 
e 4.0 KiB   [           ] /.ssh 
  4.0 KiB   [           ] .bashrc 
  4.0 KiB   [           ] .bash history 
  4.0 KiB   [           ] .profile 
  4.0 KiB   [           ] .bash_logout  
  4.0 KiB   [           ] TestFile.txt 
  0.0 B .sudo_as_admin_successful 
Total disk usage: 1.1 GiB Apparent size: 1.1 GiB Items: 3924

在左上角,您可以看到當前掃描的目錄。您可以在表的第 一列中看到目錄大小。使用上下箭頭,您可以在不同的行之間移動。此外,您可以使用右箭頭瀏覽目錄,使用左箭頭可以返回。

您可以使用ncdu命令定義目錄的路徑來定位特定目錄。

ncdu /var

此命令將顯示以下資訊:

ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help
--------/var-----------------------------------------------------------------   .    
.   2.7 GiB [##########] /lib 
. 573.2 MiB [##        ] /cache 
. 92.2 MiB  [          ]/log 
  3.7 MiB   [          ]/snap 
  3.4 MiB   [          ]/backups 
. 48.0 KiB  [          ]/tmp 
. 48.0 KiB  [          ]/spool 
e 4.0 KiB   [          ]/opt 
e 4.0 KiB   [          ]/metrics 
e 4.0 KiB   [          ]/mail 
e 4.0 KiB   [          ]/local 
e 4.0 KiB   [          ]/crash 
@ 0.0     B [          ]lock 
@ 0.0     B [          ]run 

Total disk usage: 3.3 GiB Apparent size:  3.3 GiB Items: 12731

tree命令

tree是一個命令列實用程式,它以樹狀格式列出檔案或目錄。某些版本的Linux預設情況下沒有tree命令,但它在您的Linux儲存庫中可用。讓我們透過以下命令安裝tree命令實用程式:

sudo apt install tree -y (for Ubuntu/Debian)
sudo yum install tree (for RedHat/CentOS)

如果我們不帶任何引數執行此命令,它將只列出所有目錄和子目錄。因此,請使用`-d`和`-h`選項,如下所示:

~$: tree -dh 
[4.0K] .
|__ [4.0K] Images
|__ [ 20K] Information

您可以使用上述命令查詢當前目錄的目錄大小。我們在這裡使用:

  • `-d`表示僅目錄。

  • `-h`以人類可讀的格式讀取目錄大小。

您還可以透過從上述命令中刪除`-d`標誌來查詢其檔案所在的目錄大小。

~$: tree -h 

與du和ncdu命令類似,您也可以在它的幫助下查詢特定目錄的大小。為此,您必須在tree命令之後包含目錄的路徑,如下所示:

~$: tree -dh ~/Documents
[4.0K] /home/prateek/Documents
|__ [4.0K] Images
|__ [ 20K] Information

**額外提示** — 您還可以組合'du'和'tree'命令,如下所示:

~$: tree --du -h

您可以嘗試的GUI工具

您可以使用一些工具來查詢Linux上目錄的總大小。在這裡,我們只包含開源和免費工具。

QDirStat

它是一個基於Qt的檔案/目錄系統分析器,它以類似樹系統的熱圖表示形式顯示目錄和檔案。藉助此工具,您可以找出目錄使用情況,並透過刪除或清理檔案等來清理系統。使用以下命令安裝此工具:

~$: sudo apt install qdirstat -y

您可以透過在終端中輸入'qdirstat'或從應用程式選單搜尋該工具來開啟此工具。

Figure 1

FileLight

這是一個非常輕量級且易於使用的GUI工具,允許您以餅圖的形式檢視目錄和檔案佔用的空間。它使用同心圓來顯示目錄的大小和使用情況,以便您可以更好地理解它。您可以透過在終端中執行以下命令來安裝它:

~$: sudo apt install filelight -y

成功安裝後,您可以從應用程式選單開啟它,或在終端中輸入'filelight':

Figure 2

要檢視特定檔案或目錄的磁碟使用情況,請單擊左上角的“掃描”,然後按照以下步驟操作:

Scan > Scan folder > The folder/directory you want to scan

結論

您可以透過GUI和CLI方法查詢Linux中目錄中所有檔案的總大小。如果您不熟悉Linux,可以使用GUI方法查詢目錄及其檔案的大小。

有很多工具可以幫助您找到它,但在此指南中,我們包含了兩個工具,“QDirStat”和“FileLight”,它們是最新的、免費的和開源的。您可以輕鬆安裝這些工具並以圖形形式檢查目錄的大小。這樣,您可以透過任何方便的方法查詢目錄中所有檔案的總大小。

更新於:2023年8月22日

4K+ 瀏覽量

啟動您的職業生涯

完成課程後獲得認證

開始
廣告