Initialize `sized` CLI tool with comprehensive features for directory visualization. Features: - Fast parallel directory traversal using `rayon`. - Rich table output with colors and dual units (Binary/Decimal). - Recursive sizing with depth control (`-d`). - Filtering by minimum size (`-m`). - Sorting by name, type, size, or blocks (`--sort`). - Gitignore integration (`--ignore`). - Multiple output formats: Text, CSV, JSON (`--format`). - Export to file functionality (`--save`). - Shell completion generation (`--completions`).
2.0 KiB
2.0 KiB
Sized
A fast, concurrent, and feature-rich command-line tool for visualizing disk usage, written in Rust.
Features
- Fast & Concurrent: Uses
rayonto process directories in parallel, making it extremely fast on modern multi-core systems. - Rich Output: Beautifully formatted tables with colors, distinguishing files and directories.
- Dual Units: Displays sizes in both Binary (MiB, GiB) and Decimal (MB, GB) units for clarity.
- Advanced Filtering: Filter by minimum size (
-m 10MB) to find large items quickly. - Sorting: Flexible sorting by name, type, size, or block count (
--sort). - Gitignore Support: Respects
.gitignoreand.ignorefiles to keep output clean (-i). - Export Options: Export data to CSV or JSON for further analysis (
--format csv/json). - Save to File: Automatically save reports with timestamped filenames (
--save).
Installation
From Source
Ensure you have Rust and Cargo installed. Clone the repository and install:
cargo install --path .
Usage
Basic Usage
Analyze the current directory:
sized
Analyze a specific path:
sized /path/to/directory
Options
| Flag | Description | Example |
|---|---|---|
-d, --depth |
Recursion depth (0 = current dir only) | sized -d 1 |
-m, --min-size |
Filter by minimum size | sized -m 100MB |
-s, --sort |
Sort columns (size, name, type, blocks) | sized --sort size:asc |
-f, --path-full |
Force absolute paths in headers | sized -f |
-i, --ignore |
Respect .gitignore files | sized -i |
-j, --threads |
Set number of threads | sized -j 4 |
--format |
Output format (text, csv, json) | sized --format json |
--save |
Save output to file | sized --save |
Examples
Find large directories (depth 1), respecting gitignore, and save to CSV:
sized . -d 1 -i -m 50MB --format csv --save
Generate Shell Completions (Zsh):
sized --completions zsh > _sized