FDUPES(1)

NAME
fdupes - finds duplicate files in a given set of directories

SYNOPSIS
fdupes [ options ] DIRECTORY ...

DESCRIPTION
Searches the given path for duplicate files. Such files are found by comparing file sizes and MD5 signatures, followed by a byte-by-byte comparison.

OPTIONS

-r --recurse
    For every directory given follow subdirectories encountered within.

-R --recurse:
    For each directory given after this option follow subdirectories encountered within (note the ':' at the end of option; see the Examples section below for further explanation).

-s --symlinks
    Follow symlinked directories.

-H --hardlinks
    Normally, when two or more files point to the same disk area they are treated as non-duplicates; this option will change this behavior.

-G --minsize=SIZE
    Consider only files greater than or equal to SIZE in bytes.

-L --maxsize=SIZE
    Consider only files less than or equal to SIZE in bytes.

-c --cache
    Speed up file comparisons by keeping track of their signatures in a database; additional parameters may be provided using one or more cache parameters (as indicated below). Please note that this option may not be available on some systems.

-x cache.OPTION
    Supply an optional cache parameter, where OPTION is one of the keywords below and multiple options may be supplied via successive -x arguments:
      readonly
        read but do not update file signatures
      prune
        look through entire cache and delete orphaned entries
      clear
        clear all entries from cache
      vacuum
        reduce size of DB file, if possible The options prune, clear, and vacuum may be employed without supplying a DIRECTORY argument, and will take effect even if readonly is also specified. The order of operations is always clear, prune, update signatures (unless readonly), and vacuum.

-n --noempty
    Exclude zero-length files from consideration.

-A --nohidden
    Exclude hidden files from consideration.

-f --omitfirst
    Omit the first file in each set of matches.

-1 --sameline
    List each set of matches on a single line.

-S --size
    Show size of duplicate files.

-t --time
    Show modification time of duplicate files.

-m --summarize
    Summarize duplicate file information.

-M --quicksummary
    Summarize dupe information quickly, skipping the slower byte-for-byte match confirmation.

-q --quiet
    Hide progress indicator.

-d --delete
    Prompt user for files to preserve, deleting all others (see CAVEATS below).

-D --deferconfirmation
    In interactive mode, defer byte-for-byte confirmation of duplicates until just before file deletion.

-P --plain
    With --delete, use a line-based prompt (as with older versions of fdupes) instead of the new screen-mode interface. On installations where the screen-mode interface is not supported, fdupes will default to a line-based prompt.

-N --noprompt
    When used together with --delete, preserve the first file in each set of duplicates and delete the others without prompting the user.

-I --immediate
    Delete duplicates as they are encountered, without grouping into sets; implies --noprompt.

-p --permissions
    Don't consider files with different owner/group or permission bits as duplicates.

-o --order=WORD
    Order files according to WORD: time - sort by modification time, ctime - sort by status change time, name - sort by filename.

-i --reverse
    Reverse order while sorting.

-l --log=LOGFILE
    Log file deletion choices to LOGFILE.

-v --version
    Display fdupes version.

-h --help
    Display help.

NOTES
Unless -1 or --sameline is specified, duplicate files are listed together in groups, each file displayed on a separate line. The groups are then separated from each other by blank lines. When -1 or --sameline is specified, spaces and backslash characters (\) appearing in a filename are preceded by a backslash character.

EXAMPLES

fdupes a --recurse: b
    Will follow subdirectories under b, but not those under a.

fdupes a --recurse b
    Will follow subdirectories under both a and b.

CAVEATS
When using -d or --delete, care should be taken to insure against accidental data loss. When used together with options -s or --symlink, a user could accidentally preserve a symlink while deleting the file it points to. Furthermore, when specifying a particular directory more than once, all files within that directory will be listed as their own duplicates, leading to data loss should a user preserve a file without its "duplicate" (the file itself!).

AUTHOR
Adrian Lopez <adrianlopezroche@gmail.com>