df3 0.1.2

Advanced disk free utility - modern alternative to df command
Documentation
# df3 - Advanced Disk Free Utility

[![Crates.io](https://img.shields.io/crates/v/df3.svg)](https://crates.io/crates/df3)
[![Documentation](https://docs.rs/df3/badge.svg)](https://docs.rs/df3)
[![CI](https://github.com/cumulus13/df3/workflows/CI/badge.svg)](https://github.com/cumulus13/df3/actions)
[![License: MIT OR Apache-2.0](https://img.shields.io/badge/License-MIT%20OR%20Apache--2.0-blue.svg)](https://github.com/cumulus13/df3#license)

A modern, cross-platform disk usage viewer with multiple output formats, real-time monitoring, and advanced filtering capabilities.

## Features

- 🚀 **Fast and efficient** - Written in Rust for maximum performance
- 🎨 **Multiple output formats** - Table, JSON, CSV, and more
- 📊 **Real-time monitoring** - Watch mode with configurable refresh interval
- 🔍 **Advanced filtering** - Filter by filesystem type, mount point, and more
- 💻 **Cross-platform** - Works on Linux, macOS, and Windows
- 🎯 **Human-readable output** - Smart size formatting
- 📈 **Progress indicators** - Visual feedback for long operations
- 🔧 **Highly configurable** - Extensive CLI options

## Installation

### From crates.io

```bash
cargo install df3
```

### From source

```bash
git clone https://github.com/cumulus13/df3
cd df3
cargo install --path .
```

## Quick Start

```bash
# Basic usage
df

# Human-readable output
df -H

# JSON output
df --output json

# Watch mode (refresh every 5 seconds)
df --watch 5

# Show only specific filesystem types
df -t ext4 -t xfs

# Exclude filesystem types
df -x tmpfs -x devtmpfs

# Sort by usage percentage
df -S percent -r

# Show total with inode information
df --total -i
```

## Usage

```
Advanced disk free utility - modern alternative to df command

Usage: df [OPTIONS] [MOUNTS]...

Arguments:
  [MOUNTS]...  Mount point(s) to show

Options:
  -H, --human-readable          Show human readable sizes
  -l, --local                   Limit listing to local file systems
  -a, --all                     Include dummy file systems
  -i, --inodes                  Show inode information
  -o, --output <OUTPUT>         Output format [default: table] [possible values: table, json, csv, inodes]
  -B, --block-size <BLOCK_SIZE> Block size [default: 1024]
  -t, --type <FS_TYPE>         Filesystem type to show
  -x, --exclude-type <FS_TYPE> Filesystem type to exclude
  -S, --sort <SORT_FIELD>      Sort by field [possible values: filesystem, size, used, avail, percent, mount]
  -r, --reverse                 Reverse sort order
      --total                   Show total row
  -s, --sync                   Display sync progress
  -w, --watch <SECONDS>        Watch mode - refresh every N seconds
  -V, --version                Print version
  -h, --help                   Print help
```

## Examples

### Basic Usage
```bash
$ df -H
Filesystem      Size   Used  Avail Use% Mounted on
/dev/sda1       256G   180G    76G  70% /
/dev/sdb1       512G   320G   192G  63% /data
```

### JSON Output
```bash
$ df --output json
[
  {
    "filesystem": "/dev/sda1",
    "size": 274877906944,
    "used": 193273528320,
    "available": 81604378624,
    "percent": 70.3,
    "mount_point": "/"
  }
]
```

### Watch Mode
```bash
$ df --watch 2
```

## Configuration

df3 can be configured via a config file at:
- Linux/macOS: `~/.config/df3/config.toml`
- Windows: `%APPDATA%\df3\config.toml`

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.

## License

Licensed under either of:

- Apache License, Version 2.0 ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT]LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

## 👤 Author
        
[Hadi Cahyadi](mailto:cumulus13@gmail.com)
    

[![Buy Me a Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/cumulus13)

[![Donate via Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/cumulus13)
 
[Support me on Patreon](https://www.patreon.com/cumulus13)

## Acknowledgments

- Inspired by the Unix/Linux `df` command
- Built with ❤️ using Rust