Skip to content

Replace copies with hardlinks

You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves).

And you would like to replace copies with hardlinks ?

If your Operating System supports it you could make use of Jdupes.


I won't cover every command ‼

If you want to know what else Jdupes can do please read the manual.


This process can take a long time and a pretty big hit on your resources depending on how big your library is, I did notice the first time it takes longer then the second time. Not sure if this is a cache thing or something else.

  • That's why I suggest to do it based on categories (Movies, TV, Music etc).
  • I don't suggest to use this on a cloud based setup.
jdupes [options] DIR1 DIR2

This will do a dry run and summarize at the end.

jdupes -rMX onlyext:mp4,mkv,avi "/data/torrents/movies/" "/data/media/movies"

This will hard link all duplicate files without prompting.

jdupes -rLX onlyext:mp4,mkv,avi "/data/torrents/movies/" "/data/media/movies"

Windows allows a maximum of 1023 hard links per file


The -Q or --quick option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned!

Questions or Suggestions?

If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.

Discord chat