Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bootandy/dust
A more intuitive version of du in rust
https://github.com/bootandy/dust
Last synced: 5 days ago
JSON representation
A more intuitive version of du in rust
- Host: GitHub
- URL: https://github.com/bootandy/dust
- Owner: bootandy
- License: apache-2.0
- Created: 2018-03-16T19:49:52.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-08T22:50:03.000Z (3 months ago)
- Last Synced: 2025-01-13T17:05:45.037Z (12 days ago)
- Language: Rust
- Homepage:
- Size: 692 KB
- Stars: 9,216
- Watchers: 35
- Forks: 197
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tools - dust - 加强版 du,但我还是更喜欢 [ncdu](https://dev.yorhel.nl/ncdu)。 (Command Line / Dependency Management)
- awesome-ops - bootandy/dust - 2.0|8713|2018-03-16|2024-09-16 | 一个现代的 du (磁盘使用情况) 命令行工具,用于查看磁盘使用情况 | (终端命令行工具)
- awesome-rust-tools - dust
- awesome-command-line-apps - dust - More intuitive version of 'du'. (\*nix/\*nux / Filesystem Management)
- my-awesome-github-stars - bootandy/dust - A more intuitive version of du in rust (Rust)
- awesome-rust - dust
- awesome-rust-cn - dust
- awesome-devtools - Dust - An alternative to du to see storage usage. ![ossoft][oss] (Command line - Linux / Learning resources)
- awesome-list - dust
- awesome-alternatives-in-rust - dust - A more intuitive version of du in rust (Applications / System tools)
- awesome-rust - dust - A more intuitive version of du (Applications / System tools)
- project-awesome - bootandy/dust - A more intuitive version of du in rust (Rust)
- my-awesome - bootandy/dust - 01 star:9.3k fork:0.2k A more intuitive version of du in rust (Rust)
- jimsghstars - bootandy/dust - A more intuitive version of du in rust (Rust)
- awesomeLibrary - dust - A more intuitive version of du in rust (语言资源库 / rust)
- fucking-awesome-rust - dust - A more intuitive version of du (Applications / System tools)
- fucking-awesome-rust - dust - A more intuitive version of du (Applications / System tools)
README
[![Build Status](https://github.com/bootandy/dust/actions/workflows/CICD.yml/badge.svg)](https://github.com/bootandy/dust/actions)
# Dust
du + rust = dust. Like du but more intuitive.
# Why
Because I want an easy way to see where my disk is being used.
# Demo
![Example](media/snap.png)
## Install
- `cargo install du-dust`
#### 🍺 Homebrew (Mac OS)
- `brew install dust`
#### 🍺 Homebrew (Linux)
- `brew install dust`
#### [Snap](https://ubuntu.com/core/services/guide/snaps-intro) Ubuntu and [supported systems](https://snapcraft.io/docs/installing-snapd)
- `snap install dust`
Note: `dust` installed through `snap` can only access files stored in the `/home` directory. See daniejstriata/dust-snap#2 for more information.
#### [Pacstall](https://github.com/pacstall/pacstall) (Debian/Ubuntu)
- `pacstall -I dust-bin`
#### Anaconda (conda-forge)
- `conda install -c conda-forge dust`
#### [deb-get](https://github.com/wimpysworld/deb-get) (Debian/Ubuntu)
- `deb-get install du-dust`
#### [x-cmd](https://www.x-cmd.com/pkg/#VPContent)
- `x env use dust`
#### Windows:
- `scoop install dust`
- Windows GNU version - works
- Windows MSVC - requires: [VCRUNTIME140.dll](https://docs.microsoft.com/en-gb/cpp/windows/latest-supported-vc-redist?view=msvc-170)#### Download
- Download Linux/Mac binary from [Releases](https://github.com/bootandy/dust/releases)
- unzip file: `tar -xvf _downloaded_file.tar.gz`
- move file to executable path: `sudo mv dust /usr/local/bin/`## Overview
Dust is meant to give you an instant overview of which directories are using disk space without requiring sort or head. Dust will print a maximum of one 'Did not have permissions message'.
Dust will list a slightly-less-than-the-terminal-height number of the biggest subdirectories or files and will smartly recurse down the tree to find the larger ones. There is no need for a '-d' flag or a '-h' flag. The largest subdirectories will be colored.
The different colors on the bars: These represent the combined tree hierarchy & disk usage. The shades of grey are used to indicate which parent folder a subfolder belongs to. For instance, look at the above screenshot. `.steam` is a folder taking 44% of the space. From the `.steam` bar is a light grey line that goes up. All these folders are inside `.steam` so if you delete `.steam` all that stuff will be gone too.
## Usage
```
Usage: dust
Usage: dust
Usage: dust
Usage: dust -p (full-path - Show fullpath of the subdirectories)
Usage: dust -s (apparent-size - shows the length of the file as opposed to the amount of disk space it uses)
Usage: dust -n 30 (Shows 30 directories instead of the default [default is terminal height])
Usage: dust -d 3 (Shows 3 levels of subdirectories)
Usage: dust -D (Show only directories (eg dust -D))
Usage: dust -F (Show only files - finds your largest files)
Usage: dust -r (reverse order of output)
Usage: dust -o si/b/kb/kib/mb/mib/gb/gib (si - prints sizes in powers of 1000. Others print size in that format).
Usage: dust -X ignore (ignore all files and directories with the name 'ignore')
Usage: dust -x (Only show directories on the same filesystem)
Usage: dust -b (Do not show percentages or draw ASCII bars)
Usage: dust -B (--bars-on-right - Percent bars moved to right side of screen)
Usage: dust -i (Do not show hidden files)
Usage: dust -c (No colors [monochrome])
Usage: dust -C (Force colors)
Usage: dust -f (Count files instead of diskspace)
Usage: dust -t (Group by filetype)
Usage: dust -z 10M (min-size, Only include files larger than 10M)
Usage: dust -e regex (Only include files matching this regex (eg dust -e "\.png$" would match png files))
Usage: dust -v regex (Exclude files matching this regex (eg dust -v "\.png$" would ignore png files))
Usage: dust -L (dereference-links - Treat sym links as directories and go into them)
Usage: dust -P (Disable the progress indicator)
Usage: dust -R (For screen readers. Removes bars/symbols. Adds new column: depth level. (May want to use -p for full path too))
Usage: dust -S (Custom Stack size - Use if you see: 'fatal runtime error: stack overflow' (default allocation: low memory=1048576, high memory=1073741824)"),
Usage: dust --skip-total (No total row will be displayed)
Usage: dust -z 40000/30MB/20kib (Exclude output files/directories below size 40000 bytes / 30MB / 20KiB)
Usage: dust -j (Prints JSON representation of directories, try: dust -j | jq)
Usage: dust --files0-from=FILE (Reads null-terminated file paths from FILE); If FILE is - then read from stdin
```## Config file
Dust has a config file where the above options can be set.
Either: `~/.config/dust/config.toml` or `~/.dust.toml`
```
$ cat ~/.config/dust/config.toml
reverse=true
```## Alternatives
- [NCDU](https://dev.yorhel.nl/ncdu)
- [dutree](https://github.com/nachoparker/dutree)
- [dua](https://github.com/Byron/dua-cli/)
- [pdu](https://github.com/KSXGitHub/parallel-disk-usage)
- [dirstat-rs](https://github.com/scullionw/dirstat-rs)
- du -d 1 -h | sort -hNote: Apparent-size is calculated slightly differently in dust to gdu. In dust each hard link is counted as using file_length space. In gdu only the first entry is counted.