Rust Crates.io Packaging status

dua (-> Disk Usage Analyzer) is a tool to conveniently learn about the usage of disk space of a given directory. It's parallel by default and will max out your SSD, providing relevant information as fast as possible. Optionally delete superfluous data, and do so more quickly than rm.

asciicast

Installation

Binary Release (all but Windows)

MacOS

sh curl -LSfs https://raw.githubusercontent.com/byron/dua-cli/master/ci/install.sh | \ sh -s -- --git byron/dua-cli --crate dua

MacOS via MacPorts:

sh sudo port selfupdate sudo port install dua-cli

MacOS via Homebrew

sh brew update brew install dua-cli

Linux

Linux requires the target to be specified explicitly to obtain the MUSL build.

sh curl -LSfs https://raw.githubusercontent.com/byron/dua-cli/master/ci/install.sh | \ sh -s -- --git byron/dua-cli --target x86_64-unknown-linux-musl --crate dua

Windows and others

See the releases section for manual installation.

Cargo

Via cargo, which can be obtained using rustup

For Unix… ``` cargo install dua-cli

And if you don't need a terminal user interface

cargo install dua-cli --no-default-features ```

For Windows, nightly features are currently required. cargo +nightly install dua-cli

VoidLinux

Via xbps on your VoidLinux system.

xbps-install dua-cli

Fedora

Via dnf on your Fedora system.

sudo dnf install dua-cli

Arch Linux

Via pacman on your ArchLinux system.

sudo pacman -S dua-cli

NetBSD

Via pkgin on your NetBSD system.

pkgin install dua-cli

Or, building from source

cd /usr/pkgsrc/sysutils/dua-cli make install

Windows

You will find pre-built binaries for Windows in the releases section. Alternatively, install via cargo as in

cargo +nightly install dua-cli

Usage

```bash

count the space used in the current working directory

dua

count the space used in all directories that are not hidden

dua *

learn about additional functionality

dua aggregate --help ```

Interactive Mode

Launch into interactive mode with the i or interactive subcommand. Get help on keyboard shortcuts with ?. Use this mode to explore, and/or to delete files and directories to release disk space.

Please note that great care has been taken to prevent accidential deletions due to a multi-stage process, which makes this mode viable for exploration.

bash dua i dua interactive

Development

Please note that all the following assumes a unix system. On Windows, the linux subsystem should do the job.

Run tests

bash make tests

Learn about other targets

make

But why is…

…there two available backends? crossterm works everywhere!

Why add complexity to support termion if crossterm works everywhere? The answer is compile time and binary size, which both are larger when using crossterm. Thus on Unix we still build with termion, but there is no reason to stop supporting it once crossterm has no disadvantages.

The crosstermion crate makes handling this a bit less cumbersome.

Acknowledgements

Thanks to jwalk, all there was left to do is to write a command-line interface. As jwalk matures, dua should benefit instantly.

Limitations

Similar Programs