Linux中國

用 ncdu 檢查 Linux 中的可用磁碟空間

計算機用戶多年來往往積累了大量的數據,無論是重要的個人項目、數碼照片、視頻、音樂還是代碼庫。雖然現在的硬碟往往相當大,但有時你必須退一步,評估一下你在硬碟上實際存儲了什麼。經典的 Linux 命令 dfdu 是快速了解硬碟上的內容的方法,它們提供了一個可靠的報告,易於解析和處理。這對腳本和處理來說是很好的,但人的大腦對數百行的原始數據並不總是反應良好。認識到這一點,ncdu 命令旨在提供一份關於你在硬碟上使用的空間的互動式報告。

在 Linux 上安裝 ncdu

在 Linux 上,你可以從你的軟體倉庫安裝 ncdu。例如,在 Fedora 或 CentOS 上:

$ sudo dnf install ncdu

在 BSD 上,你可以使用 pkgsrc

在 macOS 上,你可以從 MacPortsHomeBrew 安裝。

另外,你也可以 從源碼編譯 ncdu

使用 ncdu

ncdu 界面使用 ncurses 庫,它將你的終端窗口變成一個基本的圖形應用,所以你可以使用方向鍵來瀏覽菜單。

![ncdu interface](/data/attachment/album/202108/29/095833cw0wtcec32ywww48.jpg "ncdu interface")

這是 ncdu 的主要吸引力之一,也是它與最初的 du 命令不同的地方。

要獲得一個目錄的完整列表,啟動 ncdu。它默認為當前目錄。

$ ncdu
ncdu 1.16 ~ Use the arrow keys to navigate, press ? for help                                                                  
--- /home/tux --------------------------------------------   22.1 GiB [##################] /.var
   19.0 GiB [###############   ] /Iso
   10.0 GiB [########          ] /.local
    7.9 GiB [######            ] /.cache
    3.8 GiB [###               ] /Downloads
    3.6 GiB [##                ] /.mail
    2.9 GiB [##                ] /Code
    2.8 GiB [##                ] /Documents
    2.3 GiB [#                 ] /Videos
[...]

這個列表首先顯示了最大的目錄(在這個例子中,那是 ~/.var 目錄,塞滿了很多的 flatpak 包)。

使用鍵盤上的方向鍵,你可以瀏覽列表,深入到一個目錄,這樣你就可以更好地了解什麼東西佔用了最大的空間。

獲取一個特定目錄的大小

你可以在啟動 ncdu 時提供任意一個文件夾的路徑:

$ ncdu ~/chromiumos

排除目錄

默認情況下,ncdu 包括一切可以包括的東西,包括符號鏈接和偽文件系統,如 procfs 和 sysfs。你可以用 --exclude-kernfs 來排除這些。

你可以使用 --exclude 選項排除任意文件和目錄,並在後面加上一個匹配模式。

$ ncdu --exclude ".var"
   19.0 GiB [##################] /Iso
   10.0 GiB [#########         ] /.local
    7.9 GiB [#######           ] /.cache
    3.8 GiB [###               ] /Downloads
[...]

另外,你可以在文件中列出要排除的文件和目錄,並使用 --exclude-from 選項來引用該文件:

$ ncdu --exclude-from myexcludes.txt /home/tux
   10.0 GiB [#########         ] /.local
    7.9 GiB [#######           ] /.cache
    3.8 GiB [###               ] /Downloads
[...]

顏色方案

你可以用 --color dark 選項給 ncdu 添加一些顏色。

![ncdu color scheme](/data/attachment/album/202108/29/095834h10vnvr7jvv17v1n.jpg "ncdu color scheme")

包括符號鏈接

ncdu 輸出按字面意思處理符號鏈接,這意味著一個指向 9GB 文件的符號鏈接只佔用 40 個位元組。

$ ncdu ~/Iso
    9.3 GiB [##################]  CentOS-Stream-8-x86_64-20210427-dvd1.iso                                                    
@   0.0   B [                  ]  fake.iso

你可以用 --follow-symlinks 選項強制 ncdu 跟蹤符號鏈接:

$ ncdu --follow-symlinks ~/Iso
    9.3 GiB [##################]  fake.iso                                                                                    
    9.3 GiB [##################]  CentOS-Stream-8-x86_64-20210427-dvd1.iso

磁碟使用率

磁碟空間用完並不有趣,所以監控你的磁碟使用情況很重要。ncdu 命令使它變得簡單和互動。下次當你對你的電腦上存儲的東西感到好奇時,或者只是想以一種新的方式探索你的文件系統時,不妨試試 ncdu

via: https://opensource.com/article/21/8/ncdu-check-free-disk-space-linux

作者:Seth Kenlon 選題:lujun9972 譯者:geekpi 校對: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中國