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

Linux下精美的图形化磁盘使用仪表盘Duc

Duc是用于检查和可视化磁盘使用情况的工具集合,简而言之就是告诉你,你的空间都用在哪了。Duc是一个成熟的工具,且有着极好的扩展性,可以支持在Shell终端、X图形界面以及借助CGI可以在Web展示。根据官方测试Duc已经测试过对超5亿个文件以及PB级空间大小的磁盘上进行正常运行。

概述

Duc是用于可视化磁盘使用情况索引、检查和分析的工具集合。Duc使用时候会扫描整个文件系统和目录的大小各种数据并记录到一个数据库,然后可以分项查询、图形化展示。

Linux下精美的图形化磁盘使用仪表盘Duc

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

Linux下精美的图形化磁盘使用仪表盘Duc

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

Linux下精美的图形化磁盘使用仪表盘Duc

速度很快

Duc将磁盘使用情况存储在优化的数据库中,从而产生快速的用户界面。只需扫描系统一次就可以将数据索引到数据库,而无需每次都进行扫描和计算,一次扫描快速查询。

多接口展示

Duc支持多种用户界面,来进行使用量查询和展示:支持Shell命令行或者ncurses在命令行界面使用;

Linux下精美的图形化磁盘使用仪表盘Duc

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

Linux下精美的图形化磁盘使用仪表盘Duc

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

Linux下精美的图形化磁盘使用仪表盘Duc

安装

对于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-devel
sudo yum install duc

其他Linux发行版,需要充Duc的Github官方仓库(github /zevv/duc)下载最新版本(duc-*.tar.gz )并编译安装

截止本文撰写时候目前最新版本为:1.45

Linux下精美的图形化磁盘使用仪表盘Duc

下载后解压到本地目录

cd duc-1.4.5
./configure
make
make install

进行安装。

当然可以直接下载源码或者git clone仓库进行手动编译安装(新手不建议尝试)。

基本用法

Duc中,自带一个名为duc的命令行工具,用于创建、维护和查询磁盘使用情况数据库。运行duc help到获取可用命令的列表,详细信息此处不再赘述。

Duc的使用其实非常简单,我们以几个示例进行介绍:

索引

duc index功能扫描/usr目录,扫描数据默认保存在为~/.duc.db:

duc index /usr

列出空间大小

duc ls功能列出指定目录下所有文件和目录,并以图表形式显示其相对文件大小:

duc ls -Fg /usr/local

Linux下精美的图形化磁盘使用仪表盘Duc

树状试图

-R选项显示目录树视图的,可以更加清楚显示目录和子目录的层级关系:

duc ls -RF /usr/local

Linux下精美的图形化磁盘使用仪表盘Duc

图形显示

Ui功能是运行shell命令行界面显示基本目录占用情况

duc ui /usr

Linux下精美的图形化磁盘使用仪表盘Duc

在X系统下,使用gui选项可以启动图形界面,以精美的扇形贝壳仪表盘展示相关信息

duc gui /usr

Linux下精美的图形化磁盘使用仪表盘Duc

总结

Duc一个非常简单且非常实用的Linux磁盘使用情况查看器。其具有一次扫描索引(index),快速查询的特点。Duc具有非常精美的图形展示界面,可以让任何一个新手都可以一目了然的知道磁盘空间究竟被什么目录占用,从而可以方便管理磁盘空间,清理无用的大文件和目录。