DUC - 用于检查和可视化磁盘使用的工具集合
DUC是一系列工具,可用于索引,检查和可视化UNIX的操作系统上的磁盘使用情况。
不要将其视为一个简单的CLI工具,只会显示磁盘使用情况的花哨的图表。
它是在巨大的文件系统上相当刻度的构建。
DUC已经在系统上进行了测试,该系统由超过5亿张文件和几个储存的储存而没有任何问题。
DUC是非常快速和多功能的工具。
它将磁盘用法存储在优化的数据库中,因此我们可以在索引完成后立即快速找到字节的位置。
此外,它还配备了各种用户界面和后端来访问数据库并绘制图形。
以下是当前支持的用户界面(UI)的列表:
- 命令行界面(LS),
- ncurses控制台界面(UI),
- X11 GUI(DUC GUI),
- OpenGL GUI(DUC GUI)。
支持的数据库列表后端:
- Tokyocabinet,
- Leveldb,
- sqlite3.
DUC使用Tokyocabet作为默认数据库后端。
安装DUC
DUC可在Debian及其衍生物(如Ubuntu)的默认存储库中提供。
因此,在基于DEB的系统上安装DUC是一块蛋糕。
$sudo apt-get install duc
在其他Linux发行版上,我们可能需要手动编译和安装DUC,如下所示。
从GitHub上的"版本"页面下载最新的DUC源.tgz文件。
首先撰写本教程,最新版本为1.4.4.
$wget https://github.com/zevv/duc/releases/download/1.4.4/duc-1.4.4.tar.gz
然后逐个运行以下命令以安装DUC。
$tar -xzf duc-1.4.4.tar.gz $cd duc-1.4.4 $./configure $make $sudo make install
DUC使用
DUC的典型用途是:
$duc <subcommand> <options>
我们可以通过运行以下命令查看常规选项和子命令列表:
$duc help
我们还可以了解具体子命令的使用如下所示。
$duc help <subcommand>
要查看所有命令及其选项的广泛列表,只需运行:
$duc help --all
让我们现在是DEC实用程序的一些实用用例。
创建索引(数据库)
首先,我们需要创建文件系统的索引文件(数据库)。
要创建索引文件,请使用"duc index"命令。
例如,要创建我们/主目录的索引,只需运行:
$duc index /home
上面的命令将创建/home /目录的索引,并将其保存在$home/.duc.db文件中。
如果我们将来在/主目录中添加了新的文件/目录,则稍后随时重新运行上面的命令以重建索引。
查询索引
DUC具有查询和探索索引的各种子命令。
要查看可用索引列表,请运行:
$duc info
示例输出:
Date Time Files Dirs Size Path 2019-04-09 15:45:55 3.5K 305 654.6M /home
正如我们在上面的输出中看到的那样,我已经索引了/主目录。
要列出当前工作目录中的所有文件和目录,可以执行以下操作:
$duc ls
要列出特定目录中的文件/目录,例如/home/sk /下载,刚刚将路径传递为如下参数。
$duc ls /home/sk/Downloads
同样,运行"DUC UI"命令以打开基于NCURSES的控制台用户界面,以探索文件系统使用情况并运行"DUC GUI"以启动图形(X11)界面以探索文件系统。
要了解有关子命令的使用情况,请简单地引用"帮助"部分。
$duc help ls
上面的命令将显示"LS"子命令的帮助部分。
可视化磁盘使用率
在上一节中,我们已经看到了如何使用DUC子命令列出文件和目录。
此外,我们甚至可以在花式图中显示文件大小。
要显示给定路径的图形,请使用下面的"LS"子命令。
$duc ls -Fg /home/sk
在上面的输出中看到,"LS"子命令查询DUC数据库并列出所有包含的包含大小
例如:/home/sk /在这种情况下给定路径的文件和目录。
其中"-f"选项用于将文件类型指示符(* /)之一追加到条目,"-g"选项用于绘制具有每个条目的相对大小的图形。
请注意,如果没有给出路径,则探讨当前的工作目录。
我们可以使用-r选项查看树结构中的磁盘使用率。
$duc ls -R /home/sk
要查询DUC数据库并打开基于NCURSES的控制台用户界面,用于探索给定路径的磁盘使用情况,请使用下面的"UI"子命令。
$duc ui /home/sk
同样,我们使用"GUI"子命令来查询DUC数据库并启动图形(X11)界面以探索给定路径的磁盘使用情况:
$duc gui /home/sk
就像我之前已经提到过的一样,我们可以了解如下所示的子命令使用。
$duc help <subcommand-name>
我只涵盖了基本的使用部分。
有关"DUC"工具的更多详细信息,请参阅Man页面。
$man duc