Skip to content

CLI reference

Terminal window
dfrs
dfrs /var/log /Users
dfrs --local --human-readable

With no path arguments, dfrs reports visible capacity-bearing mounts. With path arguments, it selects the deepest matching mount for each canonicalized path.

The recordings below use tests/fixtures/mounts.txt so their output stays stable across machines. Omit --mounts tests/fixtures/mounts.txt to use the native mount provider on your system.

Terminal window
dfrs --color always --mounts tests/fixtures/mounts.txt
dfrs --color always --all --mounts tests/fixtures/mounts.txt

The first command shows the concise capacity-bearing view; --all also keeps pseudo mounts such as tmpfs in the report.

Default and --all dfrs reports
Terminal window
dfrs --color always --si \
--columns filesystem,bar,used_percentage,available,capacity,mounted_on \
--mounts tests/fixtures/mounts.txt

Use --columns to keep the report focused, and --si when decimal units are more useful than powers of 1024.

Custom dfrs output columns
  • -a / --more broadens the listing; repeat -a or use --all to include pseudo filesystems when no group selector is set.
  • The default hides runtime pseudo mounts such as proc, sysfs, tmpfs, and devfs, plus loop-backed squashfs mounts such as snaps and AppImages, while retaining capacity-bearing APFS, ZFS, ext4, btrfs, and other filesystems.
  • -l / --local removes known remote filesystem types.
  • -x /dev/loop0,/mnt/private / --exclude removes exact source names and descendant device paths, or exact mount paths and their descendants. Repeat the option to add more criteria. Space-separated lists stop at the next option; put positional path targets before filter options or after --.
  • -n / --no-virtual hides pseudo, overlay/aufs, and loop-backed squashfs mounts in every display mode.
  • --snaps selects all squashfs mounts, including AppImages; --tmpfs selects tmpfs mounts. Combining these group options unions their results.
  • --dev nvme0n1 selects filesystems mounted from that Linux device and its partition/device-mapper descendants. A volume-group name selects its logical volumes; --dev mapper selects mounted dm-N filesystems. macOS matches ordinary device sources directly because it does not expose Linux block topology; the reserved mapper selector is Linux-only.
  • -u / --unmounted adds Linux block-device rows that have no displayed mounted filesystem row. They show device type and total capacity; usage columns are placeholders. This option cannot be combined with --inodes. With --dev vg --unmounted, matching unmounted logical volumes are included. --total sums filesystem rows only.

Group selectors union together and take precedence over --more/--all. Explicit exclusions and --no-virtual still apply to their results.

Terminal window
dfrs --choose-theme
dfrs --choose-theme --force

Use the left/right arrows to preview palettes, Enter to save, and Esc to abort. The saved theme ID is read by normal dfrs runs from $XDG_CONFIG_HOME/dfrs/theme.json, or $HOME/.config/dfrs/theme.json when XDG_CONFIG_HOME is unset. An existing file requires --force before the chooser starts.

  • -h / --human-readable uses powers of 1024.
  • -H / --si uses powers of 1000.
  • -i / --inodes reports inode capacity instead of byte capacity.
  • --columns filesystem,type,bar,used_percentage,available,used,capacity,mounted_on selects the table columns.
  • --color auto|always|never and -c control terminal color behavior.
Terminal window
dfrs --mounts ./tests/fixtures/mounts.txt --all

--mounts FILE is an explicit override. Mount-file fields follow the Linux format and decode octal escapes such as \040 for a space. Without the override, macOS uses getmntinfo(3) and Linux reads /proc/self/mounts.

Terminal window
dfrs completions bash > ~/.local/share/bash-completion/completions/dfrs
dfrs --help
dfrs --version