freedup[options] [<tree> ...]
Options are toggle switches. Their final state applies.
Later <tree> entries are linked to the earlier ones.
Providing no <tree> means to take filenames(!) from stdin.
When standard input is used the option -o has no effect.
FreeDup Version 1.5-3 by ©2007-2009.
Sha1 Version 1.0.4 by Allan Saddi ©2001-2003.

Option Categories

File Comparison
-aprovide compatibility to freedups by William Stearns.[=-gup]
-drequires the modification time stamps to be equal.
-D <sec>allow the modification time stamps to differ by not more than <sec> seconds.
-frequires the path-stripped file names to be equal.
-grequires groups to be equal.
-prequires file permissions to be equal.
-P <mask> set permission <mask> to an octal number, which indicates the permissions that need to be identical when comparing files.
-urequires users to be equal.
Comparison Style
-x <style>where style means what kind of containers freedup should look for before processing, i.e. the calculation of hashsums and comparison.
mp3 ignores mp3v1 and mp3v2 tags
mp4 ignores all mpeg containers except the first sequence of mdat ones
mpc ignores mouse pack trailing tags
jpg ignores jpeg header tags (including quantizazion)
ogg ignores OggS header and short trailing tags
auto selects one of above methods when appropriate
Hash Functions
-t <type> selects an external hash method. Valid choices are sha512, sha384, sha256, sha224, sha1, md5, sum . External hash functions are not supported with comparison styles.
-# <level>with level one of 0, 1, or 2. Controls the way that hash functions are used. Independently all files are compared byte by byte. Default is 2, which results in a fast hash function calculation during byte-by-byte comparision. This needs some more memory and the same or less time than level 0, which does not evaluate any hash values. Level 1 is needed to evaluate hash functions before comparing a pair of files. External hash functions require level 1 (higher levels are lowered automatically). A side effect of level 0 is to disable external hash functions.
-ccount file space savings per linked file.
-hshows this help and the long option names. [other option are ignored]
-Hshows all identical files whether already linked or not. Use it with -n.
-qproduces no output during the run (also toggles -c and -v to off)
-vdisplay shell commands to perform linking [verbose].
-lonly allow hardlinks. No symlinks are established.
-ndo not really perform links [no action].
-sgenerate symlinks although some given paths are relative.
-wonly weak symbolic links allthough hardlinks might be possible.
-Twhen linking, keep the directories' modification and access time.
-0disable linking of empty files i.e. files of size 0.
Link Directions
-k <key>Use key to define link direction, where key is one of ...
@  link all identical files to the one which has already the most links.
#  link all identical files to the first one that occured on commandline.
<  link all identical files to the oldest one in the set.
>  link all identical files to the newest one in the set.
-  link all to the smallest one when using extra styles (like < otherwise).
+  link all to the biggest one when using extra styles (like > otherwise).
else  link identical files arbitrarily (to first in unsorted list).
You should pay attention on masking these characters like '#' or \#
General Behaviour
-b <path>set current working directory to the given path.
-e <env>load an environment set, i.e. some stored default settings. If not present, it will be stored. Please note, that the environment setting are loaded at its position in the command line, but stored after all settings were performed. Only the directories from the command line will be stored.
-idecide in interactve mode what to do with identical files.
-m <bytes>only touch larger files. (deprecated: use -o -size +#c)
-o <opts>pass one option string to the initially called find command (last given string applies). If not given an interal function is called instead of find.
<tree>any directory tree to scan for duplicate files recursively.