Disk Usage/Free Utility (Linux, BSD, macOS & Windows)
- User-friendly, colorful output
- Adjusts to your terminal's theme & width
- Sort the results according to your needs
- Groups & filters devices
- Can conveniently output JSON
- Arch Linux:
pacman -S duf
- Debian/Ubuntu:
apt install duf
- Nix:
nix-env -iA nixpkgs.duf
- Void Linux:
xbps-install -S duf
- Packages in Alpine, Debian & RPM formats
- FreeBSD:
pkg install duf
- OpenBSD:
pkg_add duf
- with Chocolatey:
choco install duf
- with scoop:
scoop install duf
- Android (via termux):
pkg install duf
- Binaries for Linux, FreeBSD, OpenBSD, macOS, Windows
Make sure you have a working Go environment (Go 1.12 or higher is required). See the install instructions.
Compiling duf is easy, simply run:
git clone https://github.com/muesli/duf.git
cd duf
go build
You can simply start duf without any command-line arguments:
duf
If you supply arguments, duf will only list specific devices & mount points:
duf /home /some/file
If you want to list everything (including pseudo, duplicate, inaccessible file systems):
duf --all
You can show and hide specific tables:
duf --only local,network,fuse,special,loops,binds
duf --hide local,network,fuse,special,loops,binds
You can also show and hide specific filesystems:
duf --only-fs tmpfs,vfat
duf --hide-fs tmpfs,vfat
...or specific mount points:
duf --only-mp /,/home,/dev
duf --hide-mp /,/home,/dev
Wildcards inside quotes work:
duf --only-mp '/sys/*,/dev/*'
Sort the output:
duf --sort size
Valid keys are: mountpoint
, size
, used
, avail
, usage
, inodes
,
inodes_used
, inodes_avail
, inodes_usage
, type
, filesystem
.
Show or hide specific columns:
duf --output mountpoint,size,usage
Valid keys are: mountpoint
, size
, used
, avail
, usage
, inodes
,
inodes_used
, inodes_avail
, inodes_usage
, type
, filesystem
.
List inode information instead of block usage:
duf --inodes
If duf doesn't detect your terminal's colors correctly, you can set a theme:
duf --theme light
duf highlights the availability & usage columns in red, green, or yellow, depending on how much space is still available. You can set your own thresholds:
duf --avail-threshold="10G,1G"
duf --usage-threshold="0.5,0.9"
If you prefer your output as JSON:
duf --json
Users of oh-my-zsh
should be aware that it already defines an alias called
duf
, which you will have to remove in order to use duf
:
unalias duf
Got some feedback or suggestions? Please open an issue or drop me a note!