磁盘空间分析神器 - ncdu
不管是使用电脑还是维护服务器,都会遇到一个问题,磁盘空间不足。一般都是通过 du
命令来统计磁盘占用空间。
今天推荐一个非常好用的统计磁盘占用工具 ncdu
官网:https://dev.yorhel.nl/ncdu
可以直接下载编译好的二进制文件:https://dev.yorhel.nl/download/ncdu-linux-x86_64-1.14.1b.tar.gz
1.下载安装
#1.下载二进制包
[root@zabbix-server ~]# wget https://dev.yorhel.nl/download/ncdu-linux-x86_64-1.14.1b.tar.gz
[root@zabbix-server ~]# ls
ncdu-linux-x86_64-1.14.1b.tar.gz
#2.解压包
[root@zabbix-server ~]# tar -zxvf ncdu-linux-x86_64-1.14.1b.tar.gz
ncdu
#3.复制到/usr/bin下
[root@zabbix-server ~]# cp ncdu /usr/bin
用起来也很简单,切换到要进行分析的路径后直接运行ncdu
就可以了,左右方向键可以切换目录导航
2.ncdu 相对与 du 的优势
优势:
- 统计的目录以仪表盘展示
- 可以以磁盘占用大小或者文件名称排序
- 支持远程导出本地分析
#命令格式
ncdu <options> <directory>
2.1扫描 / 目录文件系统,需要使用 -x 参数:
2.2扫描整个文件系统,文件多可以把结果导出并压缩
#把结果导出并解压
[root@zabbix-server ~]# ncdu -1xo- / | gzip >out.gz
/usr/src/kernels/3.10.0-957.e...nclude/config/nf/nat/snmp/basic.h 58351 files
#查看结果
[root@zabbix-server ~]# zcat out.gz | ncdu -f-
2.3扫描完成后,可以导出目录并浏览目录
[root@zabbix-server ~]# ncdu -o- | tee out.file | ncdu -f-
2.4远程扫描系统,本地浏览结果
[root@zabbix-server ~]# ssh -C user@host ncdu -o- /mnt | ncdu -f-
参数选项
# 下面例举几个常用的参数:
-q:静音模式。在扫描或导入目录时,默认情况下,ncdu 将每秒更新屏幕 10 次,在安静模式下,此间隔将减少为每 2 秒一次。使用此功能可以节省远程连接上的带宽。使用 -0 时,此选项无效。
-x:请勿越过文件系统边界,即仅将与正在扫描的目录位于同一文件系统上的文件和目录计数。
-f FILE:加载给定文件,该文件先前是使用 -o 选项创建的。如果 FILE 等效于 -,则从标准输入中读取文件。
-0:扫描目录或导入文件时,不会提供任何反馈,除非发生致命错误。扫描完成之前,不会初始化 Ncurses。用 -o 导出数据时,ncurses 根本不会初始化。导出到标准输出时,此选项是默认选项。
-1:类似于 -0,但仅以单行输出就扫描进度提供反馈。导出到文件时,此选项是默认选项。
-2:在扫描目录或导入文件时,提供全屏 ncurses 界面。这是唯一在扫描时提供有关任何非致命错误的反馈的界面。
--exclude:排除匹配的文件
仪表盘参数
扫描结果出来后,可以按 ?
显示帮助:
常用快捷键:
n
:按文件名进行排序s
:按文件大小进行排序r
:重新统计当前文件夹大小g
:用#或百分比显示各文件/目录的大小所占的百分比