The utility 'bedup' functions like fdupes (compare file sizes; if they match, first few bytes, if they match, checksums, if they match, full binary compare), but will then hard-link all the files it found to a single copy, preserving the directory/file structure completely but reducing physical space usage. This is not appropriate for directory trees that are in active use, because someone might unknowingly update many files with an edit, but it is useful for backup trees (e.g. in conjunction with rsnapshot), and is safe to use with destinations that may be overwritten/updated by rsync, as rsync always unlinks the original file before changing/replacing it. This utility is part of the 'burp' backup suite (BackUp and Restore Program).