# 📈 Sizr ```text _ ___ (_) ____ _ __ / __|| ||_ /| '__| \__ \| | / / | | |___/|_|/___||_| ``` 📈 Sizr: A fast, Rust-based tool to analyze file system usage with colorful output, file aggregation, exclusions, and directory comparisons. ## Demo ![Example](media/screenshot.png) ## ✨ Features ### Features - **Colored Output**: Displays results with colors based on the `LS_COLORS` environment variable for clear and organized visuals. - **File System Tree View**: Visualizes the file system structure, making it easy to understand folder and file hierarchy. - **Small File Aggregation**: Option to group smaller files together for a more concise view of storage usage. - **Exclusions**: Ability to exclude specific files or directories from analysis, enhancing customization. - **Directory Comparison**: Compare multiple directories to quickly identify storage differences. - **High Performance**: Built in Rust for speed and efficiency across file system operations. ## 🚀 Installation To install **sizr**, simply clone the repository and follow the instructions below: ```bash git clone git@github.com:trinhminhtriet/durs.git cd sizr cargo build --release cp ./target/release/sizr /usr/local/bin/ sizr -d 2 ``` Running the below command will globally install the `sizr` binary. ```bash cargo install sizr ``` ## 💡 Usage ``` $ sizr --help Usage: sizr [options] [..] Options: -d, --depth [DEPTH] show directories up to depth N (def 1) -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M) -s, --summary equivalent to -da, or -d1 -a1M -u, --usage report real disk usage instead of file size -b, --bytes print sizes in bytes -f, --files-only skip directories for a fast local overview -x, --exclude NAME exclude matching files or directories -H, --no-hidden exclude hidden files -A, --ascii ASCII characters only, no colors -h, --help show help -v, --version print version number ``` ## 🗑️ Uninstallation Running the below command will globally uninstall the `sizr` binary. ```bash cargo uninstall sizr ``` Remove the project repo ```bash rm -rf /path/to/git/clone/sizr ``` ## 🤝 How to contribute We welcome contributions! - Fork this repository; - Create a branch with your feature: `git checkout -b my-feature`; - Commit your changes: `git commit -m "feat: my new feature"`; - Push to your branch: `git push origin my-feature`. Once your pull request has been merged, you can delete your branch. ## 📝 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.