mirror of
https://github.com/bootandy/dust.git
synced 2026-02-04 19:11:46 -08:00
92 lines
3.7 KiB
Markdown
92 lines
3.7 KiB
Markdown
[](https://travis-ci.org/bootandy/dust)
|
|
|
|
# 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
|
|
|
|

|
|
|
|
## Install
|
|
|
|
#### Cargo <a href="https://repology.org/project/du-dust/versions"><img src="https://repology.org/badge/vertical-allrepos/du-dust.svg" alt="Packaging status" align="right"></a>
|
|
|
|
- `cargo install du-dust`
|
|
|
|
#### 🍺 Homebrew (Mac OS)
|
|
|
|
- `brew install dust`
|
|
|
|
#### 🍺 Homebrew (Linux)
|
|
|
|
- `brew tap tgotwig/linux-dust && brew install dust`
|
|
|
|
#### [Pacstall](https://github.com/pacstall/pacstall) (Debian/Ubuntu)
|
|
|
|
- `pacstall -I dust-bin`
|
|
|
|
#### [deb-get](https://github.com/wimpysworld/deb-get) (Debian/Ubuntu)
|
|
|
|
- `deb-get install du-dust`
|
|
|
|
#### Windows:
|
|
|
|
- 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 <dir>
|
|
Usage: dust <dir> <another_dir> <and_more>
|
|
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 -r (reverse order of output)
|
|
Usage: dust -H (si print sizes in powers of 1000 instead of 1024)
|
|
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 -i (Do not show hidden files)
|
|
Usage: dust -c (No colors [monochrome])
|
|
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))
|
|
|
|
```
|
|
|
|
## 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 -h
|
|
|
|
Note: 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.
|