ncdu 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

ncdu 命令安装:


-bash: ncdu command not found

#CentOS
yum install ncdu 

#Debian
apt-get install ncdu

#Ubuntu
apt-get install ncdu

#Alpine
apk add ncdu

#Arch Linux
pacman -S ncdu

#Kali Linux
apt-get install ncdu

#Fedora
dnf install ncdu

#OS X
brew install ncdu

#Raspbian
apt-get install ncdu

#Docker
docker run cmd.cat/ncdu ncdu

ncdu 命令补充说明:


ncdu(NCurses 磁盘使用情况)是众所周知的 du 的基于 curses 的版本,它提供了一种快速的方式来查看正在使用哪些磁盘空间的目录。

┌───ncdu help──────────1:Keys───2:Format───3:About─────────┐
│                                                          │
│                                                          │
│                                         NCurses          │
│                                         Disk             │
│                                         Usage            │
│                                                          │
│                                         1.15.1           │
│                                                          │
│      Written by Yoran Heling <projects@yorhel.nl>        │
│               https://dev.yorhel.nl/ncdu/                │
│                                                          │
│                                                          │
│                                         Press q to close │
└──────────────────────────────────────────────────────────┘

ncdu 命令语法:


ncdu [-hqvx] [--exclude PATTERN] [-X FILE] dir

ncdu 命令选项:


-h
打印一条小的帮助信息

-q
静音模式。在计算磁盘空间时,默认情况下,ncdu每秒将屏幕更新10次,在安静模式下,此间隔将减少为每2秒一次。使用此功能可以节省远程连接上的带宽。

-v
打印版本。

-x
仅将与指定dir相同的文件系统上的文件和目录计数。

--exclude PATTERN
排除与PATTERN匹配的文件。可以多次添加此参数以添加更多模式。

-X FILE,-- exclude-from FILE
排除与FILE中的任何模式匹配的文件。模式应该用换行符分隔。

ncdu 命令键盘操作:


up, k — 向上移动光标
down, j – 向下移动光标
right/enter — 打开选定的目录
left, <, h — 打开父目录
n — 按文件名排序(升序/降序)
s — 按文件大小排序(升序/降序)
C – 按项目数排序(升序/降序)
d – 删除选定的文件或目录
t — 排序时将目录放在文件前面
g – 以图形方式显示百分比

ncdu 命令实例:


ncdu 进行 Scan 目录分析:


  ┌───Scanning...───────────────────────────────────────────────────────────────┐
  │                                                                             │
  │ Total items: 129164   size:   3.5 GiB                                       │
  │ Current item: /Data/logs/api.juxing.error.log                               │
  │                                                                             │
  │                                                                             │
  │                                                                             │
  │                                                                             │
  │  Scanning...                                               Press q to abort │
  └─────────────────────────────────────────────────────────────────────────────┘


#分析之后显示结果:

ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help                                                                                                                                   
--- / ---------------------------------------------------------------------------
    2.7 GiB [##########] /usr                                                                                                                                                                    
  737.6 MiB [##        ] /Data
  680.2 MiB [##        ] /var
  186.0 MiB [          ] /boot
   45.0 MiB [          ] /app
   34.2 MiB [          ] /etc
  468.0 KiB [          ] /run
  448.0 KiB [          ] /root
   40.0 KiB [          ] /tmp
e  16.0 KiB [          ] /lost+found
    8.0 KiB [          ] /opt
    8.0 KiB [          ] /mnt
e   4.0 KiB [          ] /srv
e   4.0 KiB [          ] /media
e   4.0 KiB [          ] /home
.   0.0   B [          ] /proc
    0.0   B [          ] /sys
    0.0   B [          ] /dev
@   0.0   B [          ]  lib64
@   0.0   B [          ]  sbin
@   0.0   B [          ]  lib
@   0.0   B [          ]  bin

ncdu 分析当前工作目录:

ncdu

ncdu 分析给定目录:

ncdu path/to/directory

ncdu 将结果保存到文件中:

ncdu -o path/to/file

ncdu 排除与模式匹配的文件,可以多次指定参数以添加更多模式:

ncdu --exclude '*.txt'

ncdu 命令使用场景:


一直在用 ncdu 经常在要删除一些东西的时候很有用,排序出来,不过删除的时候要注意,按 d 删了一个后要按一下上下键,因为他的定位需要重刷一下

ncdu 排序类似 du 的排序:du -s *|sort -n


┌───Confirm delete──────────────────────────────────────────────┐
│ Are you sure you want to delete "command-not-found.txt"?      │
│                                                               │
│                                                               │
│              yes      no     don't ask me again               │
└───────────────────────────────────────────────────────────────┘

ncdu 命令与 du 命令区别:


  • 自动按大小排序。
  • 可以逐个逐级深入查看子文件夹。

至少这两点就足以让我喜欢上 ncdu 了。dudftop 等比较简陋,ncdu / pydf / htop 等工具本身很小,体验却不一样。

ncdu 命令扩展阅读:




ncdu 命令评论