5 лучших инструментов для поиска и удаления повторяющихся файлов в Linux
Организация домашнего каталога или даже системы может быть особенно сложной, если у вас есть привычка загружать всевозможные материалы из Интернета с помощью менеджеров загрузок.
Часто вы можете обнаружить, что загрузили одни и те же файлы в формате mp3, pdf и epub (и со всеми другими расширениями) и скопировали их в разные каталоги. Это может привести к тому, что ваши каталоги будут загромождены всевозможными бесполезными дубликатами.
В этом руководстве вы узнаете, как находить и удалять повторяющиеся файлы в Linux с помощью инструментов командной строки rdfind, fdupes и rmlint. , а также с помощью инструментов с графическим интерфейсом под названием DupeGuru и FSlint.
Предупреждение: всегда будьте осторожны с тем, что вы удаляете в своей системе, поскольку это может привести к нежелательной потере данных. Если вы используете новый инструмент, сначала попробуйте его в тестовом каталоге, где удаление файлов не будет проблемой.
1. Rdfind – поиск повторяющихся файлов в Linux
Rdfind создан на основе поиска избыточных данных — бесплатного инструмента командной строки, используемого для поиска повторяющихся файлов в нескольких каталогах или внутри них. Он рекурсивно сканирует каталоги и определяет файлы с идентичным содержимым, что позволяет вам предпринимать соответствующие действия, такие как удаление или перемещение дубликатов.
Rdfind использует алгоритм для классификации файлов и определяет, какой из дубликатов является исходным файлом, а остальные считает дубликатами.
Правила ранжирования таковы:
- Если A был найден при сканировании входного аргумента раньше, чем B, A имеет более высокий рейтинг.
- Если A был найден на глубине ниже, чем B, A имеет более высокий рейтинг.
- Если A был найден раньше, чем B, A имеет более высокий рейтинг.
Последнее правило используется, в частности, когда в одном каталоге находятся два файла.
Установите Rdfind в Linux
Чтобы установить rdfind в Linux, используйте следующую команду в соответствии с вашим дистрибутивом Linux.
sudo apt install rdfind [On Debian, Ubuntu and Mint]
sudo yum install rdfind [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rdfind [On Gentoo Linux]
sudo apk add rdfind [On Alpine Linux]
sudo pacman -S rdfind [On Arch Linux]
sudo zypper install rdfind [On OpenSUSE]
Чтобы запустить rdfind в каталоге, просто введите rdfind и целевой каталог.
rdfind /home/user
Как вы можете видеть, rdfind сохранит результаты в файле с именем results.txt, расположенном в том же каталоге, из которого вы запускали программу. Этот файл содержит все дубликаты файлов, найденные rdfind. Вы можете просмотреть файл и удалить дубликаты файлов вручную, если хотите.
Еще вы можете использовать опцию -dryrun
, которая предоставит список дубликатов без каких-либо действий:
rdfind -dryrun true /home/user
Когда вы найдете дубликаты, вы можете заменить их жесткими ссылками.
rdfind -makehardlinks true /home/user
И если вы хотите удалить дубликаты, вы можете запустить.
rdfind -deleteduplicates true /home/user
Чтобы проверить другие полезные возможности rdfind, вы можете использовать руководство по rdfind.
man rdfind
2. Fdupes – поиск дубликатов файлов в Linux
Fdupes — еще одна программа командной строки, которая позволяет вам идентифицировать дубликаты файлов в вашей системе. Он рекурсивно ищет каталоги, сравнивая размеры файлов и их содержимое для выявления дубликатов.
Для определения дубликатов файлов используются следующие методы:
- Сравнение частичных подписей md5sum
- Сравнение полных подписей md5sum
- проверка побайтового сравнения
Как и rdfind, он имеет аналогичные параметры:
- Рекурсивный поиск
- Исключить пустые файлы
- Показывает размер дубликатов файлов
- Немедленно удаляйте дубликаты
- Исключить файлы с другим владельцем
Установите Fdupes в Linux
Чтобы установить fdupes в Linux, используйте следующую команду в соответствии с вашим дистрибутивом Linux.
sudo apt install fdupes [On Debian, Ubuntu and Mint]
sudo yum install fdupes [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fdupes [On Gentoo Linux]
sudo apk add fdupes [On Alpine Linux]
sudo pacman -S fdupes [On Arch Linux]
sudo zypper install fdupes [On OpenSUSE]
Синтаксис Fdupes аналогичен синтаксису rdfind. Просто введите команду, а затем каталог, который вы хотите просканировать.
fdupes <dir>
Для рекурсивного поиска файлов вам нужно будет указать -r
такую опцию.
fdupes -r <dir>
Вы также можете указать несколько каталогов и указать каталог для рекурсивного поиска.
fdupes <dir1> -r <dir2>
Чтобы fdupes вычислил размер дубликатов файлов, используйте опцию -S
.
fdupes -S <dir>
Для сбора сводной информации о найденных файлах используйте опцию -m
.
fdupes -m <dir>
Наконец, если вы хотите удалить все дубликаты, используйте опцию -d
, подобную этой.
fdupes -d <dir>
Fdupes спросит, какой из найденных файлов удалить. Вам нужно будет ввести номер файла:
Решение, которое определенно не рекомендуется, — использовать параметр -N
, что приведет к сохранению только первого файла.
fdupes -dN <dir>
Чтобы получить список доступных опций для использования с fdupes, просмотрите страницу справки, запустив.
fdupes -help
3. Rmlint – удаление повторяющихся файлов
Rmlint — это инструмент командной строки, который используется для поиска и удаления дубликатов и файлов, похожих на ворс, в системах Linux. Он помогает идентифицировать файлы с идентичным содержимым, а также различные формы избыточности или ворса, такие как пустые файлы, неработающие символические ссылки и потерянные файлы.
Установите Rmlint в Linux
Чтобы установить Rmlint в Linux, используйте следующую команду в соответствии с вашим дистрибутивом Linux.
sudo apt install rmlint [On Debian, Ubuntu and Mint]
sudo yum install rmlint [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rmlint [On Gentoo Linux]
sudo apk add rmlint [On Alpine Linux]
sudo pacman -S rmlint [On Arch Linux]
sudo zypper install rmlint [On OpenSUSE]
4. dupeGuru – поиск повторяющихся файлов в Linux
dupeGuru — это кроссплатформенный инструмент с открытым исходным кодом, который можно использовать для поиска дубликатов файлов в системе Linux. Инструмент может сканировать имена файлов или содержимое в одной или нескольких папках. Это также позволяет вам найти имя файла, похожее на файлы, которые вы ищете.
dupeGuru доступен в разных версиях для платформ Windows, Mac и Linux. Его функция быстрого алгоритма нечеткого сопоставления поможет вам найти дубликаты файлов в течение минуты. Его можно настраивать, вы можете извлекать именно те дубликаты файлов, которые хотите, и удалять ненужные файлы из системы.
Установите dupeGuru в Linux
Чтобы установить dupeGuru в Linux, используйте следующую команду в соответствии с вашим дистрибутивом Linux.
sudo apt install dupeguru [On Debian, Ubuntu and Mint]
sudo yum install dupeguru [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/dupeguru [On Gentoo Linux]
sudo apk add dupeguru [On Alpine Linux]
sudo pacman -S dupeguru [On Arch Linux]
sudo zypper install dupeguru [On OpenSUSE]
5. FSlint — средство поиска дубликатов файлов для Linux
FSlint — бесплатная утилита, которая используется для поиска и очистки различных форм ворса в файловой системе. Он также сообщает о повторяющихся файлах, пустых каталогах, временных файлах, повторяющихся/конфликтующих (двоичных) именах, неверных символических ссылках и многом другом. Он имеет режимы командной строки и графического интерфейса.
Однако важно отметить, что на момент прекращения моих знаний в сентябре 2022 года FSlint последний раз обновлялся в 2013 году и может не поддерживаться активно или не быть совместимым с новыми дистрибутивами Linux.
Установите FSlint в Linux
Чтобы установить FSlint в Linux, используйте следующую команду в соответствии с вашим дистрибутивом Linux.
sudo apt install fslint [On Debian, Ubuntu and Mint]
sudo yum install fslint [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fslint [On Gentoo Linux]
sudo apk add fslint [On Alpine Linux]
sudo pacman -S fslint [On Arch Linux]
sudo zypper install fslint [On OpenSUSE]
Заключение
Это очень полезные инструменты для поиска дубликатов файлов в вашей системе Linux, но вы должны быть очень осторожны при удалении таких файлов.
Если вы не уверены, нужен ли вам файл или нет, лучше создать резервную копию этого файла и запомнить его каталог перед его удалением. Если у вас есть какие-либо вопросы или комментарии, пожалуйста, отправьте их в разделе комментариев ниже.