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

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

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


Что такое fdupes?


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

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

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


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


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

В системах на базе Ubuntu или Debian:

sudo apt install fdupes

Для установки fdupes в Fedora/CentOS и других дистрибутивах на базе RHEL:

sudo dnf install fdupes

В Arch Linux и Manjaro:

sudo pacman -S fdupes

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


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

Поиск дубликатов файлов с помощью fdupes

Начнем с поиска всех дубликатов файлов в каталоге. Основной синтаксис для этого следующий:

fdupes path/to/directory

Например, если вы хотите найти дубликаты файлов в каталоге Documents, вы выполните:

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

.... где path/to/directory - каталог, в котором вы хотите выполнить поиск.

Для поиска дубликатов файлов в каталоге Documents и последующей отправки результатов в файл:

fdupes /home/Documents > output. txt

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

fdupes -m path/to/directory

Для получения информации о дубликатах файлов для каталога Documents:

fdupes -m ~/Documents

Вывод:

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

fdupes -h

Удаление дубликатов файлов в Linux с помощью fdupes

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

Чтобы удалить дубликат файла, укажите команде флаг -d и нажмите Enter:

fdupes -d path/to/directory

Для удаления дубликатов файлов в папке Downloads:

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 для удаления дублирующихся строк из текстового файла.

Ваше имя: *
Ваш e-mail: *
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: