"finds and performs actions upon duplicate files" -
jdupes is based on
fdupes and is not written in java as the name may lead you to assume.
Recursively find all duplicates in a dir
jdupes -r /path/to/dir
Create hard-links of any duplicate files
jdupes -r -L /path/
Delete all but one duplicate
Although the flags do not indicate this, the following command keeps the first file (see man page for details), and prints a summary of what was kept and what was deleted.
jdupes -r --delete --noprompt /path/