背景
磁盤空間的大小總是跟不上人民日益增長的文件存放需要。
在暫時無法擴容的情況下,就只有刪掉一些文件了。
為了快速回收空間,最有效的做法當然是挑大文件下手了。linux下獲取文件大小,一般是使用du
命令
du -sh
即可看到文件夾占用空間大小。但du
本身執行很慢,每次又只針對一個文件夾,在這種場景下反復執行來找出大文件,無疑效率低下。
ncdu
就是解決這個問題的。
安裝使用
ubuntu下可以
sudo apt-get install ncdu
如果是需要在沒有sudo權限沒有網絡的服務器上使用,那么一種方式是將本地安裝好的bin直接拷貝上去,另一種方式就是把源碼拷貝上去編譯生成了。
看下幫助,ncdu
支持一些參數,包括排除一些文件,導出結果到文件中等。
ncdu -h
ncdu <options> <directory>
-h This help message
-q Quiet mode, refresh interval 2 seconds
-v Print version
-x Same filesystem
-r Read only
-o FILE Export scanned directory to FILE
-f FILE Import scanned directory from FILE
-0,-1,-2 UI to use when scanning (0=none,2=full ncurses)
--si Use base 10 (SI) prefixes instead of base 2
--exclude PATTERN Exclude files that match PATTERN
-X, --exclude-from FILE Exclude files that match any pattern in FILE
--exclude-caches Exclude directories containing CACHEDIR.TAG
但最簡單的用法就是不帶參數,直接在需要分析的目錄下執行ncdu
, 等待ncdu掃描完畢,就會出現一個交互式的界面。
在這里可以看到每個目錄的大小,使用方向鍵或Enter鍵即可進入和退出具體的目錄。
比如發現某個目錄占用空間很大,那么就可以一路跟下去找到罪魁禍首,找到之后確認可以刪除的話,不用退出ncdu,直接選中后按d
即可。
刪除得差不多了,則按q
退出
示例
其他
看到另一種使用ncdu的場景是,定期掃描一次並保存到文件中,這樣就可以觀察到兩次掃描之間的文件變化情況了
這個想法很有意思,暫未實踐,mark一下
ncdu-diff
本文地址:https://www.cnblogs.com/zqb-all/p/12591744.html
公眾號:https://sourl.cn/A7348c