Linux Build Status
Windows Build Status
The Directory Differential hTool
DDH traverses input directories and their subdirectories. It also hashes files as needed and reports findings.
The H in "hTool" is silent. The H in its abbreviation, "DDH," is not.
This tool is called DDH for two very good reasons.
- DDT is a dangerous pesticide
- I mistyped when I created the project
Install
- Install Rust
cargo install --git https://github.com/darakian/ddh ddh
- The DDH binary will be installed into
$CARGO_HOME/.bin/ddh
, which usually is$HOME/.cargo/bin/ddh
. This should be in yourPATH
already if you're using rustup.
Features
DDH supports both a standard
output for human comprehension and a parsable json
output for machines.
Example
Directory Difference hTool 0.9.8
Compare and contrast directories.
Example invocation: ddh ~/Downloads/ -o MyFiles.txt -f standard
Example pipe: ddh ~/Downloads/ -o no -v all -f json | someJsonParser.bin
USAGE:
ddh [OPTIONS] <Directories>...
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-b, --blocksize <Blocksize> Sets the display blocksize to Bytes, Kilobytes, Megabytes or Gigabytes. Default is
Kilobytes. [possible values: B, K, M, G]
-f, --format <Format> Sets output format. [possible values: standard, json]
-o, --output <Output> Sets file to save all output. Use 'no' for no file output.
-v, --verbosity <Verbosity> Sets verbosity for printed output. [possible values: quiet, duplicates, all]
ARGS:
<Directories>... Directories to parse
How Does DDH Work?
DDH works by hashing files to determine their uniqueness and, as such, depends heavily on disk speeds for performance.