Merge pull request #13791 from wxy/20190505-Duc---A-Collection-Of-Tools-To-Inspect-And-Visualize-Disk-Usage

PRF&PUB:20190505 Duc   A Collection Of Tools To Inspect And Visualize Disk Usage
This commit is contained in:
Xingyu.Wang 2019-05-24 12:44:22 +08:00 committed by GitHub
commit b2d90fcef1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,51 +1,47 @@
[#]: collector: (lujun9972)
[#]: translator: (tomjlw)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-10892-1.html)
[#]: subject: (Duc A Collection Of Tools To Inspect And Visualize Disk Usage)
[#]: via: (https://www.ostechnix.com/duc-a-collection-of-tools-to-inspect-and-visualize-disk-usage/)
[#]: author: (sk https://www.ostechnix.com/author/sk/)
Duc——一个能够洞察并可视化硬盘使用情况的工具包
Duc:一个能够可视化洞察硬盘使用情况的工具包
======
![Duc——一个能够洞察并可视化硬盘使用情况的工具包][1]
![Duc一个能够洞察并可视化硬盘使用情况的工具包][1]
**Duc** 是一个在类 Unix 操作系统上可以用来索引、洞察及可视化硬盘使用情况的工具包。别把它当成一个仅能用漂亮图表展现硬盘使用情况的 CLI 工具。它被设计成在巨大的文件系统上也可以延展得很好。Duc 已在由超过五亿个文件和几 PB 的存储组成的系统上测试过,没有任何问题。
Duc 是一个在类 Unix 操作系统上可以用来索引、洞察及可视化硬盘使用情况的工具包。别把它当成一个仅能用漂亮图表展现硬盘使用情况的 CLI 工具。它对巨大的文件系统也支持的很好。Duc 已在由超过五亿个文件和几 PB 的存储组成的系统上测试过,没有任何问题。
Duc 是一个快速而且多变的工具。它将你的硬盘使用情况存在一个优化过的数据库里,这样你就可以在索引完成后迅速找到你的数据。此外,它自带不同的用户交互界面与后端以访问数据库并绘制图表。
Duc 是一个快速而且灵活的工具。它将你的硬盘使用情况存在一个优化过的数据库里,这样你就可以在索引完成后迅速找到你的数据。此外,它自带不同的用户交互界面与后端以访问数据库并绘制图表。
以下列出的是目前支持的用户界面UI
1. 命令行界面 (ls),
2. Ncurses 控制台界面 (ui),
3. X11 GUI (duc gui),
4. OpenGL GUI (duc gui)。
1. 命令行界面(`duc ls`
2. Ncurses 控制台界面(`duc ui`
3. X11 GUI`duc gui`
4. OpenGL GUI`duc gui`
支持的后端数据库:
* Tokyocabinet,
* Leveldb,
* Sqlite3.
* Tokyocabinet
* Leveldb
* Sqlite3
Duc 使用 **Tokyocabinet** 作为默认的后端数据库。
Duc 默认使用 Tokyocabinet 作为后端数据库。
### 安装 Duc
Duc 可以从 Debian 以及其衍生品例如 Ubuntu 的默认仓库中获取。因此在基于 DEB 的系统上安装 Duc 小菜一碟。
Duc 可以从 Debian 以及其衍生品例如 Ubuntu 的默认仓库中获取。因此在基于 DEB 的系统上安装 Duc 小菜一碟。
```
$ sudo apt-get install duc
```
在其它 Linux 发行版上你需要像以下所展示的那样手动从源编译安装 Duc。
在其它 Linux 发行版上你需要像以下所展示的那样手动从源代码编译安装 Duc。
从 github 上的[**发行**][2]页面下载最新的 Duc 源 .tgz 文件。在写这篇教程的时候,最新的版本是**1.4.4**
可以从 Github 上的[发行][2]页面下载最新的 Duc 源代码的 .tgz 文件。在写这篇教程的时候最新的版本是1.4.4。
```
$ wget https://github.com/zevv/duc/releases/download/1.4.4/duc-1.4.4.tar.gz
@ -63,19 +59,19 @@ $ sudo make install
### 使用 Duc
duc 的典型用法是:
`duc` 的典型用法是:
```
$ duc <subcommand> <options>
```
你可以通过运行以下命令来浏览总的选项列表以及命令:
你可以通过运行以下命令来浏览总的选项列表以及命令:
```
$ duc help
```
你也可以像下面这样了解一个特定命令的用法。
你也可以像下面这样了解一个特定命令的用法。
```
$ duc help <subcommand>
@ -87,23 +83,23 @@ $ duc help <subcommand>
$ duc help --all
```
让我们看看一些 duc 工具的特定用法。
让我们看看一些 `duc` 工具的特定用法。
### 创建索引(数据库)
首先,你需要创建一个你文件系统的索引文件(数据库)。使用“duc index”命令以创建索引文件。
首先,你需要创建一个你文件系统的索引文件(数据库)。使用 `duc index` 命令以创建索引文件。
比如说,要创建你的 **/home** 目录的索引,仅需运行:
比如说,要创建你的 `/home` 目录的索引,仅需运行:
```
$ duc index /home
```
上述命令将会创建你的 /home/ 目录的索引并将其保存在 **$HOME/.duc.db** 文件中。如果你以后需要往 /home 目录添加新的文件/目录,只要在之后重新运行一下上面的命令来重建索引。
上述命令将会创建你的 `/home` 目录的索引,并将其保存在 `$HOME/.duc.db` 文件中。如果你以后需要往 `/home` 目录添加新的文件或目录,只要在之后重新运行一下上面的命令来重建索引。
### 查询索引
Duc 有不同的命令来查询并探索索引。
Duc 有不同的命令来查询并探索索引。
要查看可访问的索引列表,运行:
@ -111,14 +107,14 @@ Duc 有不同的副命令来查询并探索索引。
$ duc info
```
**示例输出:**
示例输出:
```
日期 时间 文件 目录 大小 路径
Date Time Files Dirs Size Path
2019-04-09 15:45:55 3.5K 305 654.6M /home
```
如你在上述输出所见,我已经索引好了 /home 目录。
如你在上述输出所见,我已经索引好了 `/home` 目录。
要列出当前工作目录中所有的文件和目录,你可以这样做:
@ -126,27 +122,27 @@ $ duc info
$ duc ls
```
要列出所提供目录例如 **/home/sk/Downloads** 中的文件/目录,仅需像下面这样将路径作为参数传过去。
要列出指定的目录,例如 `/home/sk/Downloads` 中的文件/目录,仅需像下面这样将路径作为参数传过去。
```
$ duc ls /home/sk/Downloads
```
类似的,运行**“duc ui”**命令来打开基于 **ncurses** 的控制台用户界面以探索文件系统使用情况,运行**“duc gui”**以打开 **graphical (X11)** 界面来探索文件系统。
类似的,运行 `duc ui` 命令来打开基于 ncurses 的控制台用户界面以探索文件系统使用情况,运行`duc gui` 以打开图形界面X11来探索文件系统。
要了解更多命令的用法,仅需参考帮助部分。
要了解更多命令的用法,仅需参考帮助部分。
```
$ duc help ls
```
上述命令将会展现 “ls” 副命令的帮助部分。
上述命令将会展现 `ls`命令的帮助部分。
### 可视化硬盘使用状况
在之前的部分我们以及看到如何用 duc 命令列出文件和目录。在此之外,你甚至可以用一张漂亮的图表展示文件大小。
在之前的部分我们以及看到如何用 duc 命令列出文件和目录。在此之外,你甚至可以用一张漂亮的图表展示文件大小。
要展示所提供目录的图表,像以下这样使用“ls”副命令。
要展示所提供目录的图表,像以下这样使用 `ls`命令。
```
$ duc ls -Fg /home/sk
@ -156,13 +152,13 @@ $ duc ls -Fg /home/sk
![使用 “duc ls” 命令可视化硬盘使用情况][3]
如你在上述输出所见,“ls”副命令查询 duc 数据库并列出了所提供目录,在这里就是 **/home/sk/**,所包含的文件与目录的大小
如你在上述输出所见,`ls` 子命令查询 duc 数据库并列出了所提供目录包含的文件与目录的大小,在这里就是 `/home/sk/`
这里 **-F** 选项是往条目中用来添加文件类型显示(*/之一),**-g** 选项是用来绘制每个条目相对大小的图表。
这里 `-F` 选项是往条目中用来添加文件类型指示符(`/``-g` 选项是用来绘制每个条目相对大小的图表。
请注意如果未提供任何路径,当前工作目录就会被探索
请注意如果未提供任何路径,就会使用当前工作目录。
你可以使用 **-R** 选项来用[**树状结构**][4]浏览硬盘使用情况。
你可以使用 `-R` 选项来用[树状结构][4]浏览硬盘使用情况。
```
$ duc ls -R /home/sk
@ -170,7 +166,7 @@ $ duc ls -R /home/sk
![用树状结构可视化硬盘使用情况][5]
要查询 duc 数据库并打开基于 **ncurses** 的控制台以探索所提供的目录,像以下这样使用**“ui”**副命令。
要查询 duc 数据库并打开基于 ncurses 的控制台以探索所提供的目录,像以下这样使用 `ui`命令。
```
$ duc ui /home/sk
@ -178,7 +174,7 @@ $ duc ui /home/sk
![][6]
类似的,我们使用**“gui”* 副命令来查询 duc 数据库以及打开一个 **graphical (X11)** 界面来探索提供路径的硬盘使用情况。
类似的,我们使用 `gui *` 子命令来查询 duc 数据库以及打开一个图形界面X11来了解指定路径的硬盘使用情况。
```
$ duc gui /home/sk
@ -186,47 +182,38 @@ $ duc gui /home/sk
![][7]
像我之前所提到的,我们可以像下面这样了解更多关于特定命令的用法。
像我之前所提到的,我们可以像下面这样了解更多关于特定命令的用法。
```
$ duc help <命令名字>
$ duc help <命令名字>
```
我仅仅覆盖了基本用法的部分,参考 man 页面了解关于“duc”工具的更多细节。
我仅仅覆盖了基本用法的部分,参考 man 页面了解关于 `duc` 工具的更多细节。
```
$ man duc
```
* * *
相关阅读:
**相关阅读:**
* [**Filelight 在你的 Linux 系统上可视化硬盘使用情况**][8]
* [**一些好的du命令的替代品**][9]
* [**如何在 Linux 中用 Ncdu 检查硬盘使用情况**][10]
* [**Agedu——发现 Linux 中被浪费的硬盘空间**][11]
* [**如何在 Linux 中找到目录大小**][12]
* [**为初学者打造的带有示例的 df 命令教程**][13]
* * *
* [Filelight 在你的 Linux 系统上可视化硬盘使用情况][8]
* [一些好的 du 命令的替代品][9]
* [如何在 Linux 中用 Ncdu 检查硬盘使用情况][10]
* [Agedu——发现 Linux 中被浪费的硬盘空间][11]
* [如何在 Linux 中找到目录大小][12]
* [为初学者打造的带有示例的 df 命令教程][13]
### 总结
Duc 是一款简单却有用的硬盘使用查看器。如果你想要快速简便地知道哪个文件/目录占用你的硬盘空间Duc 可能是一个好的选择。你还等什么呢?获取这个工具,扫描你的文件系统,摆脱无用的文件/目录。
Duc 是一款简单却有用的硬盘用量查看器。如果你想要快速简便地知道哪个文件/目录占用你的硬盘空间Duc 可能是一个好的选择。你还等什么呢?获取这个工具,扫描你的文件系统,摆脱无用的文件/目录。
现在就到此为止了。希望这篇文章有用处。更多好东西马上就到。保持关注!
欢呼吧!
**资源:**
* [**Duc 网站**][14]
资源:
* [Duc 网站][14]
--------------------------------------------------------------------------------
@ -235,7 +222,7 @@ via: https://www.ostechnix.com/duc-a-collection-of-tools-to-inspect-and-visualiz
作者:[sk][a]
选题:[lujun9972][b]
译者:[tomjlw](https://github.com/tomjlw)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出