当发现linux服务器磁盘快满时,使用ncdu工具可快速定位占用空间的文件。ncdu是一个基于终端的交互式磁盘分析工具,相比du命令更直观,支持键盘导航、自动按大小排序并可直接删除文件。安装方式包括:debian/ubuntu用sudo apt install ncdu,centos/rhel用sudo yum install ncdu,fedora或新版rhel用sudo dnf install ncdu。运行时进入目标目录执行ncdu,或从根目录开始扫描用sudo ncdu /。操作技巧包括:方向键选择目录,enter进入查看,d键删除文件,q键返回上级,g键显示百分比进度条。建议流程为:先看最大目录逐层深入查找,重点检查日志、缓存、临时文件等可删内容。常见可清理对象有/var/log/下的日志、/tmp和/var/tmp的临时文件、软件包缓存、旧内核及未使用的docker镜像和容器日志。使用前需确认文件非系统正在使用,以免影响稳定性。掌握ncdu能显著提升排查效率。

当你发现Linux服务器的磁盘快满了,但又不知道是哪些文件在“吃空间”时,确实挺头疼的。这时候用上 ncdu 这个可视化工具,就能快速定位大文件和占用空间最多的目录。

什么是 ncdu?为什么推荐使用?
ncdu(NCurses Disk Usage)是一个基于终端的交互式磁盘分析工具。它比传统的 du 命令更直观,界面清晰、操作简单,能让你快速看到哪些目录或文件占用了大量空间。

- 支持键盘导航
- 自动按大小排序
- 可以直接删除文件(谨慎操作!)
如果你经常需要排查服务器磁盘占用问题,ncdu 是必备工具之一。
如何安装和运行 ncdu?
大多数 Linux 发行版默认没有安装 ncdu,你需要手动安装:

# Debian/Ubuntu 系统 sudo apt install ncdu # CentOS/RHEL 系统 sudo yum install ncdu # Fedora 或新版本 RHEL sudo dnf install ncdu
安装完成后,进入你想扫描的目录运行:
ncdu
如果不带参数,默认会扫描当前所在目录。如果你想从根目录开始扫描(通常用于整体分析),可以这样运行:
sudo ncdu /
等待扫描完成之后,你就能看到一个类似下面的界面(简化示意):
1.2GB [##########] /var 800MB [####### ] /home 300MB [### ] /usr
使用技巧:如何快速找到大文件?
进入 ncdu 的界面后,你可以使用方向键上下移动,回车进入某个子目录查看详细情况。以下是一些实用操作:
- 上下箭头:选择不同目录/文件
- Enter 键:进入选中的目录
- d 键:删除选中文件(非常方便但要小心)
- q 键:退出当前目录返回上级
- g 键:显示百分比进度条(视觉辅助更好判断占比)
建议操作流程:
- 先看整个系统最大的几个目录
- 逐层深入查找,直到找到具体的大文件
- 判断是否为日志、缓存、临时文件等可删内容
哪些大文件可以安全删除?
在排查过程中,常见的可清理对象包括:
-
/var/log/下的日志文件(尤其是messages、syslog、nginx/access.log等) -
/tmp/和/var/tmp/中的临时文件 - 软件包缓存,比如:
- Ubuntu/Debian:
/var/cache/apt/archives/ - CentOS/RHEL:
/var/cache/yum/
- Ubuntu/Debian:
- 旧内核文件(可通过
uname -r查看当前使用内核) - 未使用的 Docker 镜像、容器日志(如果使用了容器服务)
当然,删除前一定要确认这些文件不是正在被使用的,否则可能影响系统稳定性。
基本上就这些,掌握好 ncdu 工具,排查大文件效率会提升很多。










