How to Install and Use dysk in Linux for Detailed Filesystem and Disk Monitoring

Monitoring disk space and filesystem utilisation is an essential system administration responsibility on Linux. While traditional utilities such as df and du remain functional staples, their default output formats can feel cramped, lack granular inode metrics at a glance, and fail to distinguish clearly between physical drives and pseudo-filesystems. The modern open-source tool dysk, written in Rust, reimagines filesystem inspection by delivering structured, colour-coded tables, responsive layout formatting, and powerful filtering flags.

What Is dysk and Why Use It Over Traditional Tools?

Developed by the creator of Broot, dysk is engineered to present comprehensive storage metrics across mounted volumes with high visual clarity. Rather than requiring users to combine flags such as df -hT and pipe output into text filters, dysk provides immediate access to the following insights:

  • Clear Storage Proportions: Visual progress bars illustrating available space, used capacity, and overall volume limits.
  • Integrated Inode Tracking: Direct calculation of inode consumption alongside raw block storage, preventing surprise write failures caused by exhausted file tables.
  • Intelligent Mount Filtration: Sensible default filtering that hides noisy virtual, loop, and temporary filesystems while allowing full visibility on demand.
  • Script-Ready Outputs: Native JSON output formatting for seamless parsing within automated shell scripts and monitoring pipelines.

Installing dysk Across Linux Distributions

Depending on your Linux distribution and preferred package workflow, you can install dysk via pre-built binaries, distribution package managers, or Rust’s package manager.

Method 1: Installing via Cargo

If you have Rust and Cargo configured on your workstation or server, compile and install dysk directly from crates.io:

cargo install --locked dysk

Ensure that your local Cargo binary directory (typically ~/.cargo/bin) is present in your shell’s $PATH environment variable.

Method 2: Installing Pre-Compiled Binaries on Debian and Ubuntu

For Debian, Ubuntu, and Debian-derived systems, download the latest .deb package directly from the project repository:

curl -s https://api.github.com/repos/Canop/dysk/releases/latest \
  | grep "browser_download_url.*_amd64.deb" \
  | cut -d : -f 2,3 \
  | tr -d \" \
  | wget -qi -
sudo dpkg -i dysk_*_amd64.deb

Method 3: Installing on Arch Linux

Arch Linux users can install dysk through the Arch User Repository (AUR) using an AUR helper such as yay or paru:

yay -S dysk

Running dysk and Interpreting Storage Tables

Once installed, launch the utility by executing its binary without arguments:

dysk

The standard output presents an organised grid detailing each mounted physical volume. The primary columns include:

  • Filesystem: The underlying storage device node (e.g., /dev/nvme0n1p2 or /dev/sda1).
  • Disk: The physical disk identifier and partitioning scheme.
  • Type: The filesystem format, including ext4, btrfs, xfs, or zfs.
  • Used / Free / Size: Formatted storage statistics accompanied by percentage bars.
  • Inodes: The total and available inode count for file-heavy workloads.
  • Mount Point: The directory where the filesystem is anchored into the Linux directory tree.

Advanced Filtering and Customisation Options

The strength of dysk lies in its rich command-line parameters, allowing administrators to isolate specific partitions or export metrics programmatically.

Displaying All Mounted Filesystems

By default, dysk omits memory-backed filesystems (such as tmpfs, sysfs, and devtmpfs) to minimise screen clutter. To inspect all mount points, including virtual allocations, supply the -a or --all flag:

dysk -a

Filtering by Filesystem Type

If you administer systems featuring multiple storage technologies, you can restrict output to specific filesystem formats using the -f switch:

dysk -f ext4,btrfs

Targeting Specific Mount Directories

To inspect only specific critical mount points, such as root, backup directories, or database partitions, pass the directories directly or use the path filter:

dysk / /home /var

Sorting Output by Usage

To rapidly identify volumes facing capacity exhaustion, sort the table based on used capacity or free space:

dysk -s used

Alternatively, sort ascending by free space to isolate the most constrained partitions:

dysk -s free

Exporting Structured JSON for Automation

System administrators building monitoring scripts or dashboards can request raw JSON payloads by providing the -j flag:

dysk -j | jq '.[] | {mount: .mount, used_percent: .use_ratio}'

Resolving Permission and Mount Visibility Constraints

When executing dysk under an unprivileged user session, certain internal mount points or encrypted containers might hide partition labels or disk serial details. Running sudo dysk grants the binary read access to kernel block metadata, unlocking complete hardware visibility.

For remote network shares mounted via NFS or Samba, verify that the network interface remains active and responsive before running dysk -a, ensuring the tool retrieves block metrics without experiencing transport timeouts.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.