ncdu 工具介绍
0.使用场景
- 需要清理磁盘:可以很方便的查看目录和子目录的文件大小,不用 cd命令。 需要删除文件直接用 d 就可以,快捷直观
1. 概述
ncdu
是一个基于 NCurses 的磁盘使用分析工具,全称是 “NCurses Disk Usage”。它是一个轻量级、命令行界面的工具,用于分析和可视化文件系统中的磁盘空间占用情况。通过 ncdu
,用户可以快速了解哪些文件或目录占用了最多的磁盘空间,并以交互式的方式浏览文件系统。
ncdu
特别适合在终端环境中使用,尤其是在没有图形界面的服务器上。它提供了直观的树状结构视图,用户可以轻松导航、查看和删除不需要的文件或目录。
2. 主要特点
- 交互式界面:基于 NCurses 的终端界面,支持键盘导航,操作简单直观。
- 磁盘空间分析:快速扫描文件系统并显示目录和文件的空间占用情况,按大小排序。
- 树状视图:以树形结构显示文件系统层次,方便用户逐级浏览。
- 跨平台支持:可在 Linux、macOS、BSD 等多种操作系统上运行。
- 轻量级:资源占用极低,适合在服务器或嵌入式设备上使用。
- 支持删除操作:可以直接在界面中删除文件或目录,方便清理空间。
- 导出功能:支持将扫描结果导出为文件,便于后续分析。
3. 安装方法
在 Linux 系统上安装
大多数 Linux 发行版都提供了 ncdu
的软件包,可以通过包管理器直接安装:
-
Debian/Ubuntu:
sudo apt update sudo apt install ncdu
-
Fedora:
sudo dnf install ncdu
-
Arch Linux:
sudo pacman -S ncdu
在 macOS 上安装
可以通过 Homebrew 安装:
brew install ncdu
从源码安装
如果系统没有提供预编译的包,可以从源码安装:
- 下载源码:从 官方发布页面 获取最新版本。
- 解压并进入目录:
tar -xzf ncdu-<version>.tar.gz cd ncdu-<version>
- 编译并安装:
./configure make sudo make install
4. 使用方法
基本用法
启动 ncdu
,只需在终端中输入:
ncdu [目录路径]
例如,扫描根目录:
ncdu /
如果不指定路径,ncdu
将默认扫描当前工作目录。
界面操作
启动后,ncdu
会显示一个树状结构视图,列出目录和文件的大小。以下是常用的键盘快捷键:
- 上下箭头:在目录和文件之间导航。
- 右箭头:进入选定的目录。
- 左箭头:返回上一级目录。
- d:删除选定的文件或目录(会弹出确认提示)。
- g:切换显示模式(百分比、图形条等)。
- c:显示文件和目录的计数。
- r:重新扫描当前目录。
- q:退出
ncdu
。
常用选项
-x
:只扫描同一文件系统中的内容,忽略挂载点。ncdu -x /
-r
:以只读模式运行,禁用删除功能。ncdu -r /
-o 文件名
:将扫描结果导出到指定文件。ncdu -o output.txt /
-f 文件名
:从导出的文件中加载扫描结果。ncdu -f output.txt
5. 应用场景
- 服务器空间管理:在服务器上快速定位占用大量空间的文件或目录,清理无用数据。
- 个人电脑磁盘清理:帮助用户找到隐藏的大文件(如日志、缓存文件)并释放空间。
- 嵌入式设备:由于其轻量级特性,适合在资源受限的设备上使用。
6. 注意事项
- 权限问题:扫描某些目录(如
/root
或系统目录)可能需要 root 权限,否则会跳过无权限访问的内容。可以使用sudo
运行:sudo ncdu /
- 扫描时间:扫描大容量磁盘或包含大量文件的目录可能需要较长时间,建议指定具体目录以减少扫描范围。
- 删除操作谨慎:删除功能直接操作文件系统,建议在删除前确认文件内容,避免误删重要数据。
7. 总结
ncdu
是一个简单而强大的磁盘空间分析工具,特别适合在命令行环境中使用。它的直观界面和低资源占用使其成为系统管理员和普通用户的理想选择。无论是清理磁盘空间还是分析文件系统,ncdu
都能提供高效的帮助。
8. 参考资源
- 官方网站:https://dev.yorhel.nl/ncdu
- GitHub 仓库:https://code.blicky.net/yorhel/ncdu
- 手册页:运行
man ncdu
查看详细文档。
通过以上介绍,相信您已经对 ncdu
有了全面的了解,可以根据实际需求灵活使用该工具。