用 ncdu 檢查 Linux 中的可用磁盤空間
- 用 ncdu Linux 命令獲得關(guān)于磁盤使用的交互式報告。
計算機(jī)用戶多年來往往積累了大量的數(shù)據(jù),無論是重要的個人項(xiàng)目、數(shù)碼照片、視頻、音樂還是代碼庫。雖然現(xiàn)在的硬盤往往相當(dāng)大,但有時你必須退一步,評估一下你在硬盤上實(shí)際存儲了什么。經(jīng)典的 Linux 命令 df 和 du 是快速了解硬盤上的內(nèi)容的方法,它們提供了一個可靠的報告,易于解析和處理。這對腳本和處理來說是很好的,但人的大腦對數(shù)百行的原始數(shù)據(jù)并不總是反應(yīng)良好。認(rèn)識到這一點(diǎn),ncdu 命令旨在提供一份關(guān)于你在硬盤上使用的空間的交互式報告。
在 Linux 上安裝 ncdu
在 Linux 上,你可以從你的軟件倉庫安裝 ncdu。例如,在 Fedora 或 CentOS 上:
- $ sudo dnf install ncdu
在 BSD 上,你可以使用 pkgsrc。
在 macOS 上,你可以從 MacPorts 或 HomeBrew 安裝。
另外,你也可以 從源碼編譯 ncdu。
使用 ncdu
ncdu 界面使用 ncurses 庫,它將你的終端窗口變成一個基本的圖形應(yīng)用,所以你可以使用方向鍵來瀏覽菜單。
這是 ncdu 的主要吸引力之一,也是它與最初的 du 命令不同的地方。
要獲得一個目錄的完整列表,啟動 ncdu。它默認(rèn)為當(dāng)前目錄。
- $ 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
排除目錄
默認(rèn)情況下,ncdu 包括一切可以包括的東西,包括符號鏈接和偽文件系統(tǒng),如 procfs 和 sysfs。你可以用 --exclude-kernfs 來排除這些。
你可以使用 --exclude 選項(xiàng)排除任意文件和目錄,并在后面加上一個匹配模式。
- $ ncdu --exclude ".var"
- 19.0 GiB [##################] /Iso
- 10.0 GiB [######### ] /.local
- 7.9 GiB [####### ] /.cache
- 3.8 GiB [### ] /Downloads
- [...]
另外,你可以在文件中列出要排除的文件和目錄,并使用 --exclude-from 選項(xiàng)來引用該文件:
- $ ncdu --exclude-from myexcludes.txt /home/tux
- 10.0 GiB [######### ] /.local
- 7.9 GiB [####### ] /.cache
- 3.8 GiB [### ] /Downloads
- [...]
顏色方案
你可以用 --color dark 選項(xiàng)給 ncdu 添加一些顏色。
包括符號鏈接
ncdu 輸出按字面意思處理符號鏈接,這意味著一個指向 9GB 文件的符號鏈接只占用 40 個字節(jié)。
- $ ncdu ~/Iso
- 9.3 GiB [##################] CentOS-Stream-8-x86_64-20210427-dvd1.iso
- @ 0.0 B [ ] fake.iso
你可以用 --follow-symlinks 選項(xiàng)強(qiáng)制 ncdu 跟蹤符號鏈接:
- $ ncdu --follow-symlinks ~/Iso
- 9.3 GiB [##################] fake.iso
- 9.3 GiB [##################] CentOS-Stream-8-x86_64-20210427-dvd1.iso
磁盤使用率
磁盤空間用完并不有趣,所以監(jiān)控你的磁盤使用情況很重要。ncdu 命令使它變得簡單和互動。下次當(dāng)你對你的電腦上存儲的東西感到好奇時,或者只是想以一種新的方式探索你的文件系統(tǒng)時,不妨試試 ncdu。