工具介紹:ncdu磁盤占用分析


背景

磁盤空間的大小總是跟不上人民日益增長的文件存放需要。

在暫時無法擴容的情況下,就只有刪掉一些文件了。

為了快速回收空間,最有效的做法當然是挑大文件下手了。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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM