Dust
du + rust = dust。类似du,但更直观。
为什么
因为我想要一种简单的方法来查看我的磁盘使用情况。
演示
安装
Cargo
cargo install du-dust
🍺 Homebrew (Mac OS)
brew install dust
🍺 Homebrew (Linux)
brew install dust
Pacstall (Debian/Ubuntu)
pacstall -I dust-bin
Anaconda (conda-forge)
conda install -c conda-forge dust
deb-get (Debian/Ubuntu)
deb-get install du-dust
Windows:
scoop install dust
- Windows GNU 版本 - 可用
- Windows MSVC - 需要:VCRUNTIME140.dll
下载
- 从Releases下载Linux/Mac二进制文件
- 解压文件:
tar -xvf _downloaded_file.tar.gz
- 将文件移动到可执行路径:
sudo mv dust /usr/local/bin/
概述
Dust旨在无需排序或head命令即可立即概览哪些目录正在使用磁盘空间。Dust最多只会打印一条"没有权限"的消息。
Dust会列出略少于终端高度数量的最大子目录或文件,并智能地递归遍历树以找到较大的目录。无需使用'-d'标志或'-h'标志。最大的子目录将会被着色。
条形图上的不同颜色:这些代表了组合的树层次结构和磁盘使用情况。灰色阴影用于指示子文件夹属于哪个父文件夹。例如,看看上面的截图。.steam
是一个占用44%空间的文件夹。从.steam
条形图向上延伸出一条浅灰色线。所有这些文件夹都在.steam
内,所以如果你删除.steam
,所有这些内容也会一并删除。
使用方法
用法:dust
用法:dust <目录>
用法:dust <目录> <另一个目录> <更多目录>
用法:dust -p(完整路径 - 显示子目录的完整路径)
用法:dust -s(表观大小 - 显示文件的长度,而不是它使用的磁盘空间量)
用法:dust -n 30(显示30个目录,而不是默认数量[默认为终端高度])
用法:dust -d 3(显示3级子目录)
用法:dust -D(仅显示目录(例如 dust -D))
用法:dust -F(仅显示文件 - 查找最大的文件)
用法:dust -r(反转输出顺序)
用法:dust -o si/b/kb/kib/mb/mib/gb/gib(si - 以1000的幂打印大小。其他以该格式打印大小)。
用法:dust -X ignore(忽略所有名为'ignore'的文件和目录)
用法:dust -x(仅显示同一文件系统上的目录)
用法:dust -b(不显示百分比或绘制ASCII条形图)
用法:dust -B(--bars-on-right - 百分比条移到屏幕右侧)
用法:dust -i(不显示隐藏文件)
用法:dust -c(无颜色[单色])
用法:dust -C(强制使用颜色)
用法:dust -f(统计文件数量而不是磁盘空间)
用法:dust -t(按文件类型分组)
用法:dust -z 10M(最小大小,仅包含大于10M的文件)
用法:dust -e regex(仅包含匹配此正则表达式的文件(例如 dust -e "\.png$" 将匹配png文件))
用法:dust -v regex(排除匹配此正则表达式的文件(例如 dust -v "\.png$" 将忽略png文件))
用法:dust -L(解引用链接 - 将符号链接视为目录并进入其中)
用法:dust -P(禁用进度指示器)
用法:dust -R(适用于屏幕阅读器。移除条形图/符号。添加新列:深度级别。(可能还需要使用-p获取完整路径))
用法:dust -S(自定义堆栈大小 - 如果看到:'致命运行时错误:堆栈溢出'时使用(默认分配:低内存=1048576,高内存=1073741824))
用法:dust --skip-total(不显示总行)
用法:dust -z 40000/30MB/20kib(排除输出大小低于40000字节/ 30MB / 20KiB的文件/目录)
用法:dust -j(以JSON格式打印目录表示,尝试:dust -j | jq)
用法:dust --files0-from=文件(从文件读取以null结尾的文件路径);如果文件是 - 则从标准输入读取
配置文件
Dust有一个配置文件,可以在其中设置上述选项。
路径可以是:~/.config/dust/config.toml
或 ~/.dust.toml
$ cat ~/.config/dust/config.toml
reverse=true
替代方案
- NCDU
- dutree
- dua
- pdu
- dirstat-rs
- du -d 1 -h | sort -h
注意:在dust中,表观大小的计算方式与gdu略有不同。在dust中,每个硬链接都被计算为使用file_length空间。在gdu中,只计算第一个条目。