在 Linux 上用 dust 代替 du

时间:2022-10-29 17:31:15

在 Linux 上用 dust 代替 du

dust 命令是用 Rust 编写的对 du 命令的一个更直观实现。

如果你在 Linux 命令行上工作,你会熟悉 du 命令。了解像 du 这样的命令,可以快速返回磁盘使用情况,是命令行使程序员更有效率的方法之一。然而,如果你正在寻找一种方法来节省更多的时间,使你的生活更加容易,看看 dust,它是用 Rust 重写的 du,具有更多的直观性。

简而言之,dust 是一个提供文件类型和元数据的工具。如果你在一个目录中运行了 dust,它将以几种方式报告该目录的磁盘利用率。它提供了一个信息量很大的图表,告诉你哪个文件夹使用的磁盘空间最大。如果有嵌套的文件夹,你可以看到每个文件夹使用的空间百分比。

安装 dust

 

你可以使用 Rust 的 Cargo 包管理器安装 dust

  1. $ cargo install du-dust

另外,你可以在 Linux 上的软件库中找到它,在 macOS 上,可以使用 MacPorts 或 Homebrew。

探索 dust

 

在一个目录中执行 dust 命令,会返回一个图表,以树状格式显示其内容和每个项目所占的百分比。

  1. $ dust
  2. 5.7M ┌── exa ██ 2%
  3. 5.9M ├── tokei ██ 2%
  4. 6.1M ├── dust ██ 2%
  5. 6.2M ├── tldr ██ 2%
  6. 9.4M ├── fd ██ 4%
  7. 2.9M ┌── exa ░░░█ 1%
  8. 15M ├── rustdoc ░███ 6%
  9. 18M ├─┴ bin ████ 7%
  10. 27M ├── rg ██████ 11%
  11. 1.3M ┌── libz-sys-1.1.3.crate ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ 0%
  12. 1.4M ├── libgit2-sys-0.12.19+1.1.0.crate ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ 1%
  13. 4.5M ┌─┴ github.com-1ecc6299db9ec823 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ 2%
  14. 4.5M ┌─┴ cache ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ 2%
  15. 1.0M ┌── git2-0.13.18 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 0%
  16. 1.4M ├── exa-0.10.1 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  17. 1.5M ┌── src ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  18. 2.2M ├─┴ idna-0.2.3 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  19. 1.2M ┌── linux ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 0%
  20. 1.6M ┌─┴ linux_like ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  21. 2.6M ┌─┴ unix ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  22. 3.1M ┌─┴ src ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  23. 3.1M ├─┴ libc-0.2.94 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  24. 1.2M ┌── test ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 0%
  25. 2.6M ┌─┴ zlib-ng ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  26. 904K ┌── vstudio ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 0%
  27. 2.0M ┌─┴ contrib ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  28. 3.4M ├─┴ zlib ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  29. 6.1M ┌─┴ src ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ 2%
  30. 6.1M ├─┴ libz-sys-1.1.3 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ 2%
  31. 1.6M ┌── pcre ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  32. 2.5M ┌─┴ deps ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  33. 3.8M ├── src ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ 1%
  34. 7.4M ┌─┴ libgit2 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ 3%
  35. 7.6M ├─┴ libgit2-sys-0.12.19+1.1.0 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ 3%
  36. 26M ┌─┴ github.com-1ecc6299db9ec823 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████ 10%
  37. 26M ├─┴ src ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████ 10%
  38. 932K ┌── .cache ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ 0%
  39. 11M ┌── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.idx ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███ 4%
  40. 135M ├── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.pack ░░░░░░▓▓███████████████████████████ 53%
  41. 147M ┌─┴ pack ░░░░░░█████████████████████████████ 57%
  42. 147M ┌─┴ objects ░░░░░░█████████████████████████████ 57%
  43. 147M ├─┴ .git ░░░░░░█████████████████████████████ 57%
  44. 147M ┌─┴ github.com-1ecc6299db9ec823 ░░░░░░█████████████████████████████ 57%
  45. 147M ├─┴ index ░░░░░░█████████████████████████████ 57%
  46. 178M ├─┴ registry ███████████████████████████████████ 69%
  47. 257M ┌─┴ . │██████████████████████████████████████████████████ 100%
  48. $

将 dust 应用于一个特定的目录:

  1. $ dust ~/Work/

在 Linux 上用 dust 代替 du

Dust output from a specific directory

-r 选项以相反的顺序显示输出,“根”在底部:

  1. $ dust -r ~/Work/

使用 dust -d 3 会返回三层的子目录和它们的磁盘利用率:

  1. $ dust -d 3 ~/Work/wildfly/jaxrs/target/classes
  2. 4.0K ┌── jaxrs.xml 1%
  3. 4.0K ┌─┴ subsystem-templates 1%
  4. 4.0K ┌── org.jboss.as.controller.transform.ExtensionTransformerRegistration 1%
  5. 4.0K ├── org.jboss.as.controller.Extension 1%
  6. 8.0K ┌─┴ services 2%
  7. 8.0K ├─┴ META-INF 2%
  8. 4.0K ┌── jboss-as-jaxrs_1_0.xsd ░█ 1%
  9. 8.0K ├── jboss-as-jaxrs_2_0.xsd ░█ 2%
  10. 12K ├─┴ schema ██ 3%
  11. 408K ┌── as ████████████████████████████████████████ 94%
  12. 408K ┌─┴ jboss ████████████████████████████████████████ 94%
  13. 408K ├─┴ org ████████████████████████████████████████ 94%
  14. 432K ┌─┴ classes │██████████████████████████████████████████ 100%
  15. $

总结

 

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

原文链接:https://linux.cn/article-13532-1.html