在 Linux 上用 dust 代替 du

发表于:2021-7-06 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Sudeshna Sur    来源:Linux中国

  dust 命令是用 Rust 编写的对 du 命令的一个更直观实现。
  如果你在 Linux 命令行上工作,你会熟悉 du 命令。了解像 du 这样的命令,可以快速返回磁盘使用情况,是命令行使程序员更有效率的方法之一。然而,如果你正在寻找一种方法来节省更多的时间,使你的生活更加容易,看看 dust,它是用 Rust 重写的 du,具有更多的直观性。
  简而言之,dust 是一个提供文件类型和元数据的工具。如果你在一个目录中运行了 dust,它将以几种方式报告该目录的磁盘利用率。它提供了一个信息量很大的图表,告诉你哪个文件夹使用的磁盘空间最大。如果有嵌套的文件夹,你可以看到每个文件夹使用的空间百分比。
  安装 dust
  你可以使用 Rust 的 Cargo 包管理器安装 dust:
  $ cargo install du-dust
  另外,你可以在 Linux 上的软件库中找到它,在 macOS 上,可以使用 MacPorts 或 Homebrew。
  探索 dust
  在一个目录中执行 dust 命令,会返回一个图表,以树状格式显示其内容和每个项目所占的百分比。
  $ dust
   5.7M   ┌── exa                                                           │                                                ██ │   2%
   5.9M   ├── tokei                                                         │                                                ██ │   2%
   6.1M   ├── dust                                                          │                                                ██ │   2%
   6.2M   ├── tldr                                                          │                                                ██ │   2%
   9.4M   ├── fd                                                            │                                                ██ │   4%
   2.9M   │ ┌── exa                                                         │                                              ???█ │   1%
    15M   │ ├── rustdoc                                                     │                                              ?███ │   6%
    18M   ├─┴ bin                                                           │                                              ████ │   7%
    27M   ├── rg                                                            │                                            ██████ │  11%
   1.3M   │     ┌── libz-sys-1.1.3.crate                                    │               ??????????????????????????????????█ │   0%
   1.4M   │     ├── libgit2-sys-0.12.19+1.1.0.crate                         │               ??????????????????????????????????█ │   1%
   4.5M   │   ┌─┴ github.com-1ecc6299db9ec823                               │               ??????????????????????????????????█ │   2%
   4.5M   │ ┌─┴ cache                                                       │               ??????????????????????????????????█ │   2%
   1.0M   │ │   ┌── git2-0.13.18                                            │               ?????????????????????????????▓▓▓▓▓█ │   0%
   1.4M   │ │   ├── exa-0.10.1                                              │               ?????????????????????????????▓▓▓▓▓█ │   1%
   1.5M   │ │   │ ┌── src                                                   │               ?????????????????????????????▓▓▓▓▓█ │   1%
   2.2M   │ │   ├─┴ idna-0.2.3                                              │               ?????????????????????????????▓▓▓▓▓█ │   1%
   1.2M   │ │   │       ┌── linux                                           │               ?????????????????????????????▓▓▓▓▓█ │   0%
   1.6M   │ │   │     ┌─┴ linux_like                                        │               ?????????????????????????????▓▓▓▓▓█ │   1%
   2.6M   │ │   │   ┌─┴ unix                                                │               ?????????????????????????????▓▓▓▓▓█ │   1%
   3.1M   │ │   │ ┌─┴ src                                                   │               ?????????????????????????????▓▓▓▓▓█ │   1%
   3.1M   │ │   ├─┴ libc-0.2.94                                             │               ?????????????????????????????▓▓▓▓▓█ │   1%
   1.2M   │ │   │     ┌── test                                              │               ?????????????????????????????▓▓▓▓▓█ │   0%
   2.6M   │ │   │   ┌─┴ zlib-ng                                             │               ?????????????????????????????▓▓▓▓▓█ │   1%
   904K   │ │   │   │   ┌── vstudio                                         │               ?????????????????????????????▓▓▓▓▓█ │   0%
   2.0M   │ │   │   │ ┌─┴ contrib                                           │               ?????????????????????????????▓▓▓▓▓█ │   1%
   3.4M   │ │   │   ├─┴ zlib                                                │               ?????????????????????????????▓▓▓▓▓█ │   1%
   6.1M   │ │   │ ┌─┴ src                                                   │               ?????????????????????????????▓▓▓▓██ │   2%
   6.1M   │ │   ├─┴ libz-sys-1.1.3                                          │               ?????????????????????????????▓▓▓▓██ │   2%
   1.6M   │ │   │     ┌── pcre                                              │               ?????????????????????????????▓▓▓▓▓█ │   1%
   2.5M   │ │   │   ┌─┴ deps                                                │               ?????????????????????????????▓▓▓▓▓█ │   1%
   3.8M   │ │   │   ├── src                                                 │               ?????????????????????????????▓▓▓▓▓█ │   1%
   7.4M   │ │   │ ┌─┴ libgit2                                               │               ?????????????????????????????▓▓▓▓██ │   3%
   7.6M   │ │   ├─┴ libgit2-sys-0.12.19+1.1.0                               │               ?????????????????????????????▓▓▓▓██ │   3%
    26M   │ │ ┌─┴ github.com-1ecc6299db9ec823                               │               ?????????????????????????????██████ │  10%
    26M   │ ├─┴ src                                                         │               ?????????????????????????????██████ │  10%
   932K   │ │   ┌── .cache                                                  │               ??????▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ │   0%
    11M   │ │   │     ┌── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.idx │               ??????▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███ │   4%
   135M   │ │   │     ├── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.pack│               ??????▓▓███████████████████████████ │  53%
   147M   │ │   │   ┌─┴ pack                                                │               ??????█████████████████████████████ │  57%
   147M   │ │   │ ┌─┴ objects                                               │               ??????█████████████████████████████ │  57%
   147M   │ │   ├─┴ .git                                                    │               ??????█████████████████████████████ │  57%
   147M   │ │ ┌─┴ github.com-1ecc6299db9ec823                               │               ??????█████████████████████████████ │  57%
   147M   │ ├─┴ index                                                       │               ??????█████████████████████████████ │  57%
   178M   ├─┴ registry                                                      │               ███████████████████████████████████ │  69%
   257M ┌─┴ .                                                               │██████████████████████████████████████████████████ │ 100%
  $
  将 dust 应用于一个特定的目录:
  $ dust ~/Work/ 
Dust output from a specific directory
  -r 选项以相反的顺序显示输出,“根”在底部:
  $ dust -r ~/Work/
  使用 dust -d 3 会返回三层的子目录和它们的磁盘利用率:
  $ dust -d 3 ~/Work/wildfly/jaxrs/target/classes
   4.0K     ┌── jaxrs.xml                                                           │                                         █ │   1%
   4.0K   ┌─┴ subsystem-templates                                                   │                                         █ │   1%
   4.0K   │   ┌── org.jboss.as.controller.transform.ExtensionTransformerRegistration│                                         █ │   1%
   4.0K   │   ├── org.jboss.as.controller.Extension                                 │                                         █ │   1%
   8.0K   │ ┌─┴ services                                                            │                                         █ │   2%
   8.0K   ├─┴ META-INF                                                              │                                         █ │   2%
   4.0K   │ ┌── jboss-as-jaxrs_1_0.xsd                                              │                                        ?█ │   1%
   8.0K   │ ├── jboss-as-jaxrs_2_0.xsd                                              │                                        ?█ │   2%
    12K   ├─┴ schema                                                                │                                        ██ │   3%
   408K   │   ┌── as                                                                │  ████████████████████████████████████████ │  94%
   408K   │ ┌─┴ jboss                                                               │  ████████████████████████████████████████ │  94%
   408K   ├─┴ org                                                                   │  ████████████████████████████████████████ │  94%
   432K ┌─┴ classes                                                                 │██████████████████████████████████████████ │ 100%
  $

  总结
  dust 的魅力在于它是一个小而简单的、易于理解的命令。它使用颜色方案来表示最大的子目录,使你的目录易于可视化。这是一个受欢迎的项目,欢迎大家来贡献。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号