Use fdupes to find files with identical contents in chosen directories, review the matching groups, and—if you decide it is safe—delete duplicates. Start with a listing, not a deletion command: names alone do not determine a match, and deletion options can remove files permanently.
What fdupes checks when it finds duplicates
FDUPES is a command-line program for identifying or deleting duplicate files in specified directories. The Debian manual says it compares file sizes and MD5 signatures, then confirms candidates with a byte-by-byte comparison. Files do not need to have the same name; the final check is whether their contents match. See the official FDUPES project and the Debian fdupes manual.
List duplicates without deleting anything
Run a scan against the directory you want to inspect:
fdupes /path/to/directory
To include subdirectories, use the long option or its short form:
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →#1 Best Overall
- Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
fdupes --recurse /path/to/directory
# Equivalent short form:
fdupes -r /path/to/directory
By default, fdupes reports groups of matching files; it does not remove them. Replace the example path with the actual directory, and check the output paths before taking further action.
Understand the difference between -r and -R
Both options enable recursive scanning, but their scope differs. -r applies recursion to the scan, while -R applies it to directory arguments that come after the option. Argument order therefore matters with -R.
# Recursively scan this directory
fdupes -r /path/to/directory
# Recursively scan the directory that follows -R
fdupes /path/to/other-directory -R /path/to/directory
For a straightforward scan, -r is usually clearer. The Debian and Ubuntu manuals document the option behavior: Debian manual and Ubuntu manual.
Rank #2
- Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Add context or narrow the scan
Show size and modification time
These details help distinguish files that have identical contents but different roles or locations:
fdupes --recurse --size --time /path/to/directory
Filter candidate files
Options can limit the scan by size and exclude empty or hidden files. The minimum below is in bytes:
fdupes --recurse --minsize=1048576 --noempty --nohidden /path/to/directory
You can also set a maximum size with --maxsize. Check the manual for the installed version if an option is unavailable; option support can depend on the package version.
Rank #3
- Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Summarize results
Use --summarize to request totals:
fdupes --recurse --summarize /path/to/directory
--quicksummary is another summary option, but it skips the slower byte-by-byte confirmation. Do not treat its result as equivalent to a fully confirmed duplicate listing when accuracy matters.
Delete duplicates only after reviewing them
Deletion is the point at which a scan can cause data loss. The interactive command asks which files in each duplicate set to preserve:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →fdupes --recurse --delete /path/to/directory
Review each set in context before choosing. A matching file may still be needed at its current path because an application, script, or workflow expects it there. Check that the paths belong to the intended filesystem and that a recoverable backup exists before proceeding.
Rank #4
- Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
--deletestarts an interactive selection flow.--nopromptpreserves the first file in each set and deletes the others without asking.--immediatedeletes duplicates as they are encountered and implies--noprompt.
Non-interactive deletion depends on which file is first. The --order=time|ctime|name and --reverse options affect ordering, but ordering is not a substitute for reviewing the files you intend to keep. Avoid --noprompt and --immediate unless you have deliberately verified the scan scope, ordering, and consequences.
After deletion, scan again and confirm that important applications still open the files they need. The fdupes help documentation also describes an interactive tagging workflow: tag files, then instruct the program to delete the tagged files. See the project documentation for details.
Know how links and repeated paths affect results
Symbolic links
The --symlinks (or -s) option follows symlinked directories. Use it only when you understand where those links lead. The Debian manual warns that following symlinks can leave a symlink selected while deleting the file it points to, so a deletion decision may affect a target outside the directory you expected.
Best Value
- [Upgraded Version] - This external hard drive features a mirrored logo stripe combined with a striped anti-slip design, and the rounded corners of the casing make it easier to grip. The stripes also have a heat dissipation function, ensuring stable and fast data transfer.
- 【Ultra-thin and quiet】 - The motherboard adopts JMicron 578 noise-free solution, giving you a quiet working environment. Lightweight and portable size designed to fit in your pocket for easy portability.
- 【Ultra-Fast Data Transfers】 - Pairing this external hard drive with JMicron 578 solution USB 3.0 and USB 2.0 interfaces enables blazing-fast data transfer. It boasts theoretical read speeds of up to 125MB/s and write speeds of up to 103MB/s.
- 【Plug and Play】 - With no software to install, just plug it in and the drive is ready to use.The hard disk chip is wrapped with an aluminum anti-interference layer to increase heat dissipation and protect data.
- 【What You Get】 - 1 x Portable Hard Drive, 1 x USB 3.0 Cable, 1 x User Manual, Gift-type shell packaging ,Three-year manufacturer's warranty and free technical support services.
Hard links
--hardlinks (or -H) includes files that point to the same disk area in duplicate consideration. Hard links are not separate copies of file data; consider whether that behavior is appropriate before including them in a scan or deletion workflow.
Repeated directory arguments
Do not specify the same directory more than once. The manual cautions that doing so can cause files in that directory to appear as duplicates of themselves, which can make deletion output misleading or dangerous. These link and path caveats are documented in the Debian manual.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Useful options at a glance
| Option | What it does | When it matters |
|---|---|---|
-r, --recurse |
Recursively scans subdirectories. | Use to include directory contents below the path supplied. |
-R |
Applies recursion to directory arguments that follow it. | Place it before the directories you want scanned recursively. |
-H, --hardlinks |
Includes hard-linked files in duplicate consideration. | Use only if same-storage hard links should be considered. |
-s, --symlinks |
Follows symlinked directories. | Understand link targets before scanning or deleting. |
--minsize, --maxsize |
Limits candidates by size in bytes. | Narrow scans to a size range. |
--noempty, --nohidden |
Excludes zero-length files or hidden files. | Omit classes of files you do not want considered. |
--size, --time, --sameline |
Add size or time context, or change how groups are printed. | Make output easier to inspect. |
--summarize, --quicksummary |
Displays totals; quick summary skips byte-by-byte confirmation. | Use the full summary when confirmed matching is important. |
--order=time|ctime|name, --reverse |
Controls ordering of files in output. | Especially important if a mode preserves the first file automatically. |
--cache, -x readonly|prune|clear|vacuum |
Uses or maintains the signature cache database where supported. | Consult the installed version’s manual for exact cache behavior. |
Option descriptions are documented in the Debian and Ubuntu manuals.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

