Scan your filesystem and get an XML file compatible with GrandPerspective on macOS to visualize disk usage.
- Recursively scans directories and files
- Generates XML output compatible with GrandPerspective
- Skips symbolic links to prevent infinite loops
- Handles file permissions and errors
You can download prebuilt binaries in the GitHub Releases.
cargo install gpscangpscan [OPTIONS] <directory>
Typical commands:
# File output (gzip by default, .gpscan is auto-appended)
gpscan . -o result
# Plain text file output (no gzip)
gpscan . -o result --no-gzip
# Gzip to stdout (useful for piping/redirect)
gpscan . -z > result.gpscanThen open the generated file in GrandPerspective.
Notes:
- File output (-o) defaults to gzip and adds the .gpscan suffix automatically.
- When the target file already exists: in TTY, a prompt asks to overwrite; in non-interactive mode, use
--force.
-o, --output <FILE> Output file (gzip by default, adds .gpscan)
-A, --apparent-size Use apparent size instead of disk usage
-m, --mounts Cross filesystem boundaries during scan
-Z, --zero-files Include zero-byte files in scan
-E, --empty-folders Include empty folders in scan
-q, --quiet Suppress all informational messages
-z, --gzip Gzip-compress stdout (file output is gzip by default)
--compression-level <0-9> Gzip level for output (default: 6)
--no-gzip Disable gzip for file output
-f, --force Overwrite output file without prompt
-h, --help Print help
-V, --version Print version
RUST_LOG: Set logging level (e.g.,RUST_LOG=debug gpscan /path)
- Windows: Physical file size calculation uses estimated 4KB cluster size
- Linux/macOS: Uses actual filesystem block information for accurate physical sizes
git clone https://github.com/kojix2/gpscan.git
cd gpscan
cargo build --releaseThis project includes code generated by AI tools.
