Как найти и удалить файлы-дубликаты в Linux
Домашняя папка (а порой и весь сервер) быстро захламляется, если вы часто скачиваете файлы и разбрасываете их по разным каталогам. Через какое-то время обнаруживается, что одни и те же документы лежат в нескольких местах — и найти всё это руками уже нереально.
Ниже понятный обзор инструментов, которые помогут навести порядок
1. Rdfind — поиск дубликатов по содержимому
rdfind (redundant data find) — бесплатная консольная утилита, которая рекурсивно сканирует каталоги и находит файлы с идентичным содержимым. Она умеет определять «оригинал» и помечать остальные экземпляры как дубликаты. Логика ранжирования простая и предсказуемая: выше тот файл, что встретился раньше при сканировании входных путей, расположен на меньшей глубине и/или найден раньше среди файлов в одном каталоге.
Установка
sudo apt install rdfind # Debian/Ubuntu/Mint
sudo yum install rdfind # RHEL/CentOS/Fedora/Rocky/AlmaLinux
sudo emerge -a sys-apps/rdfind # Gentoo
sudo apk add rdfind # Alpine
sudo pacman -S rdfind # Arch
sudo zypper install rdfind # openSUSE
Быстрый старт
rdfind /home/user
Результаты сохраняются в results.txt (в текущем каталоге).
Удалить дубликаты:
rdfind -deleteduplicates true /home/user
2. Fdupes — классический сканер дубликатов
fdupes тоже работает из терминала и сравнивает файлы рекурсивно, проверяя размер и содержимое.
Установка
sudo apt install fdupes # Debian/Ubuntu/Mint
sudo yum install fdupes # RHEL/CentOS/Fedora/Rocky/AlmaLinux
sudo emerge -a sys-apps/fdupes # Gentoo
sudo apk add fdupes # Alpine
sudo pacman -S fdupes # Arch
sudo zypper install fdupes # openSUSE
Примеры команд
fdupes <dir> # скан каталога
fdupes -r <dir> # рекурсивно
fdupes <dir1> -r <dir2># несколько путей, у второго — рекурсия
fdupes -S <dir> # показать суммарный размер дублей
fdupes -m <dir> # краткая сводка
Интерактивное удаление:
fdupes -d <dir>
Утилита покажет группы одинаковых файлов и спросит, какие из них удалить — нужно ввести номера. Режим -dN удаляет всё, оставляя первый попавшийся файл, но так делать безопасно только при полной уверенности:
fdupes -dN <dir>
3. Jdupes — быстрый форк fdupes
jdupes — современный и заметно более быстрый форк fdupes, активно поддерживается и лучше подходит для больших каталогов. Он сравнивает содержимое файлов, но использует оптимизированные алгоритмы и даёт больше управляемости.
Установка
sudo apt install jdupes # Debian/Ubuntu/Mint
sudo yum install jdupes # RHEL/CentOS/Fedora/Rocky/AlmaLinux
sudo pacman -S jdupes # Arch
sudo zypper install jdupes# openSUSE
Примеры команд:
jdupes <dir> # скан
jdupes -r <dir> # рекурсия
jdupes -d <dir> # интерактивное удаление
jdupes -s <dir> # заменить симлинками
Итого
Все перечисленные инструменты хорошо справляются с поиском дублей, но подход к удалению должен быть взвешенным. Если не уверены, нужен ли файл, сделайте резервную копию и запомните путь — так проще откатить изменения.