如果你在 Linux 命令行上工作,你會熟悉 du 命令。瞭解像 du 這樣的命令,可以快速返回磁盤使用情況,是命令行使程序員更有效率的方法之一。然而,如果你正在尋找一種方法來節省更多的時間,使你的生活更加容易,看看 dust,它是用 Rust 重寫的 du,具有更多的直觀性。 |
dust 命令是用 Rust 編寫的對 du 命令的一個更直觀實現。
如果你在 Linux 命令行上工作,你會熟悉 du 命令。瞭解像 du 這樣的命令,可以快速返回磁盤使用情況,是命令行使程序員更有效率的方法之一。然而,如果你正在尋找一種方法來節省更多的時間,使你的生活更加容易,看看 dust,它是用 Rust 重寫的 du,具有更多的直觀性。
簡而言之,dust 是一個提供文件類型和元數據的工具。如果你在一個目錄中運行了 dust,它將以幾種方式報告該目錄的磁盤利用率。它提供了一個信息量很大的圖表,告訴你哪個文件夾使用的磁盤空間最大。如果有嵌套的文件夾,你可以看到每個文件夾使用的空間百分比。
你可以使用 Rust 的 Cargo 包管理器安裝 dust:
$ cargo install du-dust
另外,你可以在 Linux 上的軟件庫中找到它,在 macOS 上,可以使用 MacPorts 或 Homebrew。
在一個目錄中執行 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 的魅力在於它是一個小而簡單的、易於理解的命令。它使用顏色方案來表示最大的子目錄,使你的目錄易於可視化。這是一個受歡迎的項目,歡迎大家來貢獻。