用 ncdu 檢查 Linux 中的可用磁碟空間
計算機用戶多年來往往積累了大量的數據,無論是重要的個人項目、數碼照片、視頻、音樂還是代碼庫。雖然現在的硬碟往往相當大,但有時你必須退一步,評估一下你在硬碟上實際存儲了什麼。經典的 Linux 命令 df 和 du 是快速了解硬碟上的內容的方法,它們提供了一個可靠的報告,易於解析和處理。這對腳本和處理來說是很好的,但人的大腦對數百行的原始數據並不總是反應良好。認識到這一點,ncdu
命令旨在提供一份關於你在硬碟上使用的空間的互動式報告。
在 Linux 上安裝 ncdu
在 Linux 上,你可以從你的軟體倉庫安裝 ncdu
。例如,在 Fedora 或 CentOS 上:
$ sudo dnf install ncdu
在 BSD 上,你可以使用 pkgsrc。
在 macOS 上,你可以從 MacPorts 或 HomeBrew 安裝。
另外,你也可以 從源碼編譯 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive