aboutsummaryrefslogtreecommitdiff
path: root/README.markdown
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-07-20 10:49:10 +1200
committerTom Ryder <tom@sanctum.geek.nz>2017-07-20 10:50:31 +1200
commitbb3dafc1660f773ded93e8eb582ad5cb7c2e0697 (patch)
tree06fb6637839a3c7844084e28e62dca436200471a /README.markdown
parentSkip zero-length files (diff)
downloadcheckem-bb3dafc1660f773ded93e8eb582ad5cb7c2e0697.tar.gz (sig)
checkem-bb3dafc1660f773ded93e8eb582ad5cb7c2e0697.zip
Completely overhaul checkemv2.0
Remove error-prone inode detection and just do the size-then-checksum algorithm, and use better data structure methods for the same.
Diffstat (limited to 'README.markdown')
-rw-r--r--README.markdown26
1 files changed, 14 insertions, 12 deletions
diff --git a/README.markdown b/README.markdown
index d793349..795d0a5 100644
--- a/README.markdown
+++ b/README.markdown
@@ -2,23 +2,25 @@ Checkem
=======
Find duplicate files efficiently, using Perl on GNU/Linux, and maybe other
-systems. Requires Perl core include `Digest::SHA`.
+systems. Requires Perl core including `Digest::SHA`.
-Takes an optional parameter of the directory to check, otherwise assumes you
-mean the current directory.
+Requires at least one directory argument:
- $ checkem
- $ checkem /home/tom
+ $ checkem .
+ $ checkem ~tom ~chantelle
+ $ checkem /usr /usr/local
-`checkem-fixem`
----------------
+Caveats
+-------
-If you dump the output of `checkem` to a file, assuming you have no newlines in
-your filenames, you can run `checkem-fixem` over it to output some shell script
-to perform hard-linking to remove redundancies.
+This does not presently detect hard links, and will report them as duplicate
+files. The problem with doing this is inode integer collisions if your search
+includes multiple filesystems. I haven't yet figured out how to fix this in a
+way that should work on most Unix-like systems.
-Make sure you read its output really carefully before you pipe it into `sh`.
-The script itself requires Bash for `%q`.
+There used to be a script `checkem-fixem` included with this distribution that
+generated shell script to make hard links for you, but it wasn't safe because
+it couldn't know whether a hard link would even be possible.
License
-------