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