如何获得一个系统中磁盘使用情况,在Linux下老司机们可能都会使用df和du。但是对一个新手来说可能图形化的方式是更加直观和容易接受的方式。这样的工具虫虫在Windows下使用一些很优秀的工具比如TreeSize,那么在Linux有没有类似的工具呢?实际上也有,今天虫虫就给大家介绍一款Linux可视化磁盘使用空间监视工具Duc。

Duc是用于检查和可视化磁盘使用情况的工具集合,简而言之就是告诉你,你的空间都用在哪了。Duc是一个成熟的工具,且有着极好的扩展性,可以支持在Shell终端、X图形界面以及借助CGI可以在Web展示。根据官方测试Duc已经测试过对超5亿个文件以及PB级空间大小的磁盘上进行正常运行。
概述Duc是用于可视化磁盘使用情况索引、检查和分析的工具集合。Duc使用时候会扫描整个文件系统和目录的大小各种数据并记录到一个数据库,然后可以分项查询、图形化展示。

对比Window下FreeSize的图形则比Duc要逊色的多:

Duc支持对超级文件系统的的监视,最大可以支持PB级别文件系统,同时可以细化到具体一个应用目录的项目,比如一个Gcc目录占用可视化:

速度很快
Duc将磁盘使用情况存储在优化的数据库中,从而产生快速的用户界面。只需扫描系统一次就可以将数据索引到数据库,而无需每次都进行扫描和计算,一次扫描快速查询。
多接口展示Duc支持多种用户界面,来进行使用量查询和展示:支持Shell命令行或者ncurses在命令行界面使用;

在具有X或OpenGL GUI的图形桌面上精美图形界面展示;

或者使用CGI接口通过Web形式展示。

安装
对于Debian及其子系发行版,比如Ubuntu可以使用系统自带的包管理系统apt安装:
Duc依赖ncurse、cairo和pango等软件软件包,需要安装这些包:
sudo apt-get install libncursesw5-dev libcairo2-dev libpango1.0-dev build-essential然后一键安装
sudo apt-get install duc对于红帽系也可以使用yum安装:
sudo yum install pango-devel cairo-devel tokyocabinet-develsudo yum install duc其他Linux发行版,需要充Duc的Github官方仓库(github /zevv/duc)下载最新版本(duc-*.tar.gz )并编译安装
截止本文撰写时候目前最新版本为:1.45

下载后解压到本地目录
cd duc-1.4.5./configuremakemake install进行安装。
当然可以直接下载源码或者git clone仓库进行手动编译安装(新手不建议尝试)。
基本用法Duc中,自带一个名为duc的命令行工具,用于创建、维护和查询磁盘使用情况数据库。运行duc help到获取可用命令的列表,详细信息此处不再赘述。
Duc的使用其实非常简单,我们以几个示例进行介绍:
索引duc index功能扫描/usr目录,扫描数据默认保存在为~/.duc.db:
duc index /usr列出空间大小duc ls功能列出指定目录下所有文件和目录,并以图表形式显示其相对文件大小:
duc ls -Fg /usr/local
-R选项显示目录树视图的,可以更加清楚显示目录和子目录的层级关系:
duc ls -RF /usr/local
Ui功能是运行shell命令行界面显示基本目录占用情况
duc ui /usr
在X系统下,使用gui选项可以启动图形界面,以精美的扇形贝壳仪表盘展示相关信息
duc gui /usr
Duc一个非常简单且非常实用的Linux磁盘使用情况查看器。其具有一次扫描索引(index),快速查询的特点。Duc具有非常精美的图形展示界面,可以让任何一个新手都可以一目了然的知道磁盘空间究竟被什么目录占用,从而可以方便管理磁盘空间,清理无用的大文件和目录。