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/nvme0n1p2or/dev/sda1). - Disk: The physical disk identifier and partitioning scheme.
- Type: The filesystem format, including
ext4,btrfs,xfs, orzfs. - 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.