ncdu命令

ncdu 命令 #

ncdu(NCurses Disk Usage)是一个基于 ncurses 的磁盘使用分析器。它提供了一个交互式界面,用于浏览文件系统并分析哪些目录和文件占用了最多的磁盘空间。

语法 #

ncdu [选项] [目录]

常用选项 #

选项 描述
-x 不要跨越文件系统边界,即只扫描与初始目录相同的文件系统
-e 启用扩展信息模式,显示文件和目录的所有者和权限
-r 只读模式,禁用文件删除和 shell 执行功能
-o FILE 将扫描结果导出到指定文件
-f FILE 从指定文件导入扫描结果
-q 安静模式,不显示进度信息
-0 以 null 字符结束文件名,用于导出结果时处理特殊字符
--si 使用 SI 单位(1000 字节=1KB)而不是二进制单位(1024 字节=1KiB)
--exclude PATTERN 排除匹配指定模式的文件和目录
-h, --help 显示帮助信息

交互式命令 #

ncdu的交互式界面中,可以使用以下键盘命令:

功能
上/下箭头 在文件/目录列表中移动
右箭头Enter 进入选中的目录
左箭头< 返回上一级目录
n 按名称排序(默认)
s 按大小排序
d 删除选中的文件或目录(需确认)
g 显示百分比和/或图形条
c 显示子项目计数
e 显示隐藏/排除的文件和目录
i 显示当前项目的信息
r 重新计算当前目录的大小
b 在字节和人类可读格式之间切换
q 退出 ncdu
? 显示帮助

常见用法 #

1. 分析当前目录的磁盘使用情况 #

ncdu

2. 分析特定目录的磁盘使用情况 #

ncdu /var/log

3. 不跨越文件系统边界 #

ncdu -x /

4. 以只读模式运行(安全模式) #

ncdu -r /home

5. 导出扫描结果到文件 #

ncdu -o result.file /home

6. 从文件导入扫描结果 #

ncdu -f result.file

7. 排除特定模式的文件 #

ncdu --exclude '*.log' /var

输出示例 #

ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help
--- /home/user ------------------------------
    4.0 GiB [##########] /Downloads
    2.5 GiB [######    ] /Documents
    1.2 GiB [###       ] /Pictures
  950.0 MiB [##        ] /Videos
  450.0 MiB [#         ] /.cache
  120.0 MiB [          ] /.local
   50.0 MiB [          ] /.config
   10.0 MiB [          ] /Music

相关命令 #

  • du - 估计文件和目录的磁盘使用量
  • df - 显示文件系统磁盘空间使用情况
  • find - 查找文件

注意事项 #

  • ncdu可能需要单独安装:sudo apt install ncdusudo yum install ncdu
  • 扫描大型文件系统可能需要较长时间
  • 使用-x选项可以避免扫描挂载的其他文件系统,提高扫描速度
  • 在生产环境中使用-r(只读)选项可以防止意外删除文件