Как найти и удалить повторяющиеся файлы в Linux с помощью fdupes

При работе с большими объемами медиафайлов и документов довольно часто на вашем компьютере накапливается несколько копий одного и того же файла. Неизбежно, что за этим следует загроможденное пространство для хранения, заполненное избыточными файлами, что вызывает периодические проверки на наличие повторяющихся файлов в вашей системе.

С этой целью вы найдете различные программы для выявления и удаления повторяющихся файлов. И fdupes – одна из таких программ для Linux. Так что следите за тем, как мы обсуждаем fdupes, и расскажем, как найти и удалить повторяющиеся файлы в Linux.

Что такое fdupes?

Fdupes – это программа на основе интерфейса командной строки для поиска и удаления повторяющихся файлов в Linux. Он выпущен под лицензией MIT на GitHub .

В простейшей форме программа работает, запустив указанный каталог через md5sum для сравнения подписей MD5 своих файлов. Затем он выполняет их побайтовое сравнение, чтобы определить повторяющиеся файлы и убедиться, что дубликаты не пропущены.

Как только fdupes идентифицирует повторяющиеся файлы, он дает вам возможность либо удалить их, либо заменить жесткими ссылками (ссылками на исходные файлы). Таким образом, в зависимости от ваших требований, вы можете продолжить операцию соответствующим образом.

Как установить fdupes в Linux?

Fdupes доступен в большинстве основных дистрибутивов Linux, таких как Ubuntu, Arch, Fedora и т. Д. В зависимости от дистрибутива, который вы используете на своем компьютере, выполните приведенные ниже команды.

В системах на основе Ubuntu или Debian:

 sudo apt install fdupes

Чтобы установить fdupe в Fedora / CentOS и других дистрибутивах на основе RHEL:

 sudo dnf install fdupes

В Arch Linux и Manjaro:

 sudo pacman -S fdupes

Как использовать fdupes?

После того, как вы установили программу на свой компьютер, выполните следующие действия, чтобы найти и удалить повторяющиеся файлы.

Поиск повторяющихся файлов с помощью fdupes

Во-первых, давайте начнем с поиска всех повторяющихся файлов в каталоге. Базовый синтаксис для этого:

 fdupes path/to/directory

Например, если вы хотите найти повторяющиеся файлы в каталоге документов , вы должны запустить:

 fdupes ~/Documents

Выход:

Если fdupes найдет повторяющиеся файлы в указанном каталоге, он вернет список всех избыточных файлов, сгруппированных по набору, и вы сможете затем при необходимости выполнить с ними дальнейшие операции.

Однако, если указанный вами каталог состоит из подкаталогов, указанная выше команда не будет идентифицировать дубликаты внутри них. В таких ситуациях вам нужно выполнить рекурсивный поиск, чтобы найти все повторяющиеся файлы, присутствующие в подкаталогах.

Чтобы выполнить рекурсивный поиск в fdupes, используйте флаг -r :

 fdupes -r path/to/directory

Например:

 fdupes -r ~/Documents

Выход:

Хотя две приведенные выше команды могут легко найти повторяющиеся файлы в указанном каталоге (и его подкаталогах), их вывод также включает в себя дубликаты файлов нулевой длины (или пустые).

Хотя эта функция может по-прежнему пригодиться, когда в вашей системе слишком много пустых дубликатов файлов, она может ввести в заблуждение, когда вы хотите найти только непустые дубликаты в каталоге.

К счастью, fdupes позволяет исключить файлы нулевой длины из результатов поиска с помощью параметра -n , который вы можете использовать в своих командах.

Примечание. Вы можете исключить непустые повторяющиеся файлы как при обычном, так и при рекурсивном поиске.

Чтобы искать только непустые повторяющиеся файлы на вашем компьютере:

 fdupes -n ~/Documents

Выход:

Если вы имеете дело с несколькими наборами повторяющихся файлов, целесообразно вывести результаты в текстовый файл для дальнейшего использования.

Для этого запустите:

 fdupes path/to/directory > file_name.txt

… где путь / к / каталог – это каталог, в котором вы хотите выполнить поиск.

Чтобы найти повторяющиеся файлы в каталоге документов и затем отправить результат в файл:

 fdupes /home/Documents > output.txt

И последнее, но не менее важное: если вы хотите увидеть сводку всей информации, относящейся к повторяющимся файлам в каталоге, вы можете использовать флаг -m в своих командах:

 fdupes -m path/to/directory

Чтобы получить информацию о повторяющихся файлах для каталога документов :

 fdupes -m ~/Documents

Выход:

В любое время во время использования fdupes, если вам нужна помощь с командой или функцией, используйте параметр -h, чтобы получить справку из командной строки :

 fdupes -h

Удаление повторяющихся файлов в Linux с помощью fdupes

После того, как вы определили повторяющиеся файлы в каталоге, вы можете приступить к удалению / удалению этих файлов из вашей системы, чтобы убрать беспорядок и освободить место для хранения.

Чтобы удалить повторяющийся файл, укажите в команде флаг -d и нажмите Enter :

 fdupes -d path/to/directory

Чтобы удалить повторяющиеся файлы в папке « Загрузки »:

 fdupes -d ~/Downloads

Теперь Fdupes представит вам список всех повторяющихся файлов в этом каталоге и даст вам возможность сохранить те, которые вы хотите сохранить на своем компьютере.

Например, если вы хотите сохранить первый файл в наборе 1, вы должны ввести 1 после вывода результатов поиска fdupes и нажать Enter .

Более того, при необходимости вы также можете сохранить несколько экземпляров файлов в наборе возвращенных повторяющихся файлов. Для этого вам нужно ввести числа, соответствующие повторяющимся файлам, в список, разделенный запятыми, и нажать Enter .

Например, если вы хотите сохранить файлы 1, 3 и 5, вам нужно ввести:

 1,3,5

Если вы хотите сохранить первый экземпляр файла в каждом наборе повторяющихся файлов и хотите игнорировать запрос, вы можете сделать это, включив переключатель -N , как показано в следующей команде:

 fdupes -d -N path/to/directory

Например:

 fdupes -d -N ~/Documents

Успешное удаление повторяющихся файлов в Linux

Организация файлов сама по себе утомительная задача. Добавьте к этому проблему, вызываемую дублированием файлов, и вы получите несколько часов времени и усилий, потраченных на организацию вашего беспорядочного хранилища.

Но благодаря таким утилитам, как fdupes, выявлять повторяющиеся файлы и удалять их намного проще и эффективнее. И приведенное выше руководство должно помочь вам с этими операциями на вашем компьютере с Linux.

Как и в случае с дубликатами файлов, дублирование слов и повторяющихся строк в файле также может вызывать затруднения и требует удаления дополнительных инструментов. Если вы тоже сталкиваетесь с такими проблемами, вы можете использовать uniq для удаления повторяющихся строк из текстового файла.