Files
disk-checker/README.md
2026-06-04 14:44:47 +01:00

77 lines
1.6 KiB
Markdown

# disk-checker
Fast Ubuntu-friendly CLI for scanning folders, checking file sizes, hashing the first chunk of same-size files, and reporting possible duplicates plus symlinks, hard links, special files, and scan errors.
## Install Rust on Ubuntu
```bash
sudo apt update
sudo apt install -y build-essential curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
```
## Build
```bash
cargo build --release
```
The binary will be at:
```bash
target/release/disk-checker
```
## Usage
Scan the current directory:
```bash
disk-checker
```
Scan one or more paths:
```bash
disk-checker ~/Downloads /mnt/shared
```
Use JSON for scripts:
```bash
disk-checker ~/Downloads --json
```
Hash a larger first chunk before grouping possible duplicates:
```bash
disk-checker ~/Downloads --hash-bytes 8MiB
```
Follow symlinks while still reporting them separately:
```bash
disk-checker ~/Downloads --follow-links
```
Verify possible duplicates with a full-file hash pass:
```bash
disk-checker ~/Downloads --verify-full
```
Limit hashing workers:
```bash
disk-checker ~/Downloads --threads 4
```
## Notes
- By default, duplicate results are **possible duplicates**: same file size plus same first `1MiB` BLAKE3 hash.
- This is intentionally fast because it avoids reading whole files unless you pass `--verify-full`.
- Symlinks are not followed by default to avoid surprises and cycles.
- Hard link groups are reported separately because they are multiple paths to the same inode, not extra disk copies.
- Hidden files and gitignored files are included; this is a disk scanner, not a source-code search tool.