24 releases

0.8.4 Jan 29, 2023
0.8.3 Sep 1, 2022
0.8.2 Aug 23, 2022
0.8.1 Jul 14, 2022
0.3.1 May 9, 2018

#21 in Command line utilities

Download history 374/week @ 2022-10-18 355/week @ 2022-10-25 343/week @ 2022-11-01 562/week @ 2022-11-08 472/week @ 2022-11-15 360/week @ 2022-11-22 385/week @ 2022-11-29 383/week @ 2022-12-06 331/week @ 2022-12-13 335/week @ 2022-12-20 323/week @ 2022-12-27 402/week @ 2023-01-03 359/week @ 2023-01-10 385/week @ 2023-01-17 1207/week @ 2023-01-24 871/week @ 2023-01-31

2,895 downloads per month

Apache-2.0

100KB
2K SLoC

Rust 2K SLoC // 0.1% comments BASH 91 SLoC PowerShell 90 SLoC // 0.0% comments Elvish 71 SLoC Shell 59 SLoC // 0.1% comments

Build Status

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

Install

Cargo Packaging status

  • cargo install du-dust

🍺 Homebrew (Mac OS)

  • brew install dust

🍺 Homebrew (Linux)

  • brew tap tgotwig/linux-dust && brew install dust

Pacstall (Debian/Ubuntu)

  • pacstall -I dust-bin

deb-get (Debian/Ubuntu)

  • deb-get install du-dust

Windows:

Download

  • Download Linux/Mac binary from 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

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.

Dependencies

~5–12MB
~231K SLoC