Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Утилита fdupes

Автор: admin, 2 ноября, 2024
Команды

Утилита командной строки fdupes предназначена для поиска и удаления дубликатов файлов в каталогах операционной системы Linux.

Примеры использования утилиты Linux fdupes

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

Содержание

  • Зачем использовать fdupes
  • Проблемы, вызываемые дубликатами
  • Синтаксис
  • Параметры
  • Использование утилиты fdupes
    • Сканирование каталога
    • Рекурсивное сканирование
    • Сканирование несольких каталогов
    • Удаление дубликатов файлов
    • Проблемы при удалении дубликатов
  • Ошибки
  • Заключение

Зачем использовать fdupes

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

Проблемы, вызываемые дубликатами

Причины возникновения проблем:

Потребление памяти

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

Путаница

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

Избыточность

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

Все вышеперечисленные проблемы эффективно решает fdupes.

Синтаксис

oleg@mobile:~:$ fdupes [options] DIRECTORY...

Параметры

-r --recurse

За каждым указанным каталогом следуют подкаталоги, обнаруженные внутри

-R --recurse:

За каждым каталогом, указанным после этой опции, следуют подкаталоги, обнаруженные внутри (обратите внимание на : в конце опции, страница man для получения более подробной информации)

-s --symlinks

следовать символическим ссылкам

-H --hardlinks

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

-G --minsize=SIZE

Рассматривать только файлы, размер которых больше или равен SIZE байт

-L --maxsize=SIZE

Рассматривать только файлы, меньшие или равные SIZE байт

-c --cache

Ускорить сравнение файлов, отслеживая их подписи в базе данных; дополнительные параметры могут быть предоставлены с использованием одного или нескольких параметров кэша (как показано ниже)

-x cache.OPTION

Указать необязательный параметр кэша, где OPTION — одно из ключевых слов ниже, а несколько параметров могут быть указаны с помощью последовательных аргументов -x:

readonly

Читать, но не обновлять подписи файлов

prune

Просмотреть весь кэш и удалить ненужные записи

clear

Очистить все записи из кэша

vacuum

Уменьшить размер файла базы данных, если это возможно (обратите внимание, что параметры prune, clear и vacuum могут использоваться без указания аргумента DIRECTORY и вступят в силу, даже если также указано readonly)

-n --noempty

Исключить файлы нулевой длины из рассмотрения

-A --nohidden

Исключить скрытые файлы из рассмотрения

-f --omitfirst

Пропустить первый файл в каждом наборе совпадений

-1 --sameline

Перечислить каждый набор совпадений в одной строке

-S --size

Показать размер дубликатов файлов

-t --time

Показать время модификации дубликатов файлов

-m --summarize

Суммировать дубликат информации

-q --quiet

Скрыть индикатор прогресса

-d --delete

Запрашивать у пользователя файлы для сохранения и удалять все остальные; важно: при определённых обстоятельствах данные могут быть потеряны при использовании этой опции вместе с -s или --symlinks, или при указании определённого каталога более одного раза; дополнительную информацию см. в документации fdupes

-D --deferconfirmation

В интерактивном режиме отложить побайтовое подтверждение дубликатов до момента непосредственно перед удалением файла

-P --plain

Вместе с --delete использовать строковую подсказку (как в старых версиях fdupes) вместо интерфейса в экранном режиме

-N --noprompt

Вместе с --delete сохранить первый файл в каждом наборе дубликатов и удалить остальные без запроса пользователя

-I --immediate

Удалить дубликаты по мере их обнаружения, не группируя в наборы; подразумевает --noprompt

-p --permissions

Не считать дубликатами файлы с разными владельцами/группами или битами разрешений

-o --order=BY

Выбрать порядок сортировки для вывода и удаления; по времени изменения файла (BY='time'; по умолчанию), времени изменения статуса (BY='ctime') или имени файла (BY='name')

-i --reverse

Обратный порядок при сортировке

-l --log=LOGFILE

Варианты удаления файла журнала в LOGFILE

-v --version

Отобразить версию fdupes

-h --help

Отобразить эту справку

Использование утилиты fdupes

Сканирование каталога

Просканировать каталог и найти дубликаты файлов предельно просто. Для примера просканируем подкаталог Directory домашнего каталога:

oleg@mobile:~:$ fdupes ./Directory/
./Directory/example.txt                 
./Directory/ar1.txt
oleg@mobile:~:$

Можно указать и полный путь:

oleg@mobile:~:$ fdupes /home/oleg/Directory/
/home/oleg/Directory/example.txt        
/home/oleg/Directory/ar1.txt
oleg@mobile:~:$

Был отображёт список дубликатов файлов.

Рекурсивное сканирование

Для рекурсивного сканирования команда запускается с опцией -r:

oleg@mobile:~:$ fdupes -r ./webprojects/mensh.ru/img/mensh.ru/img/
./webprojects/mensh.ru/img/baldtopdugout/baldtop-dugout-3.png
./webprojects/mensh.ru/img/baldtopdugout/baldtopdugout3.png
./webprojects/mensh.ru/img/baldtopdugout/baldtop-dugout-2.png
./webprojects/mensh.ru/img/baldtopdugout/baldtopdugout2.png
./webprojects/mensh.ru/img/dacha/small-week-end-house-2.jpg
./webprojects/mensh.ru/img/dacha/small-week-end-house-2.png
...
./webprojects/mensh.ru/img/peacedome/peace-dome.jpg
./webprojects/mensh.ru/img/ogeiger/ogeiger-peacedome-2.jpg
./webprojects/mensh.ru/img/waterproofing/waterproof6.png
./webprojects/mensh.ru/img/waterproofing/waterproof-6.png
./webprojects/mensh.ru/img/dholloway/dh
./webprojects/mensh.ru/img/dholloway/dholloway-solar-5.png
oleg@mobile:~:$

Сканирование нескольких каталогов

В данном случае каталоги, предназначенные для сравнения, указываются в качестве аргументов. При необходимости рекурсивного сканирования используется опция -r:

oleg@mobile:~:$ fdupes -r ./webprojects/mensh.ru/img/ -r ./webprojects/mensh.ru/images/
./webprojects/mensh.ru/images/hebron/hebron2_800.png
./webprojects/mensh.ru/img/solarhouses/91solarhomes-hebron-2.png
./webprojects/mensh.ru/images/nautilushouse/nautilushouse2_1000.jpg
./webprojects/mensh.ru/img/jsenosian/nautilushouse2_1000.jpg
./webprojects/mensh.ru/images/nautilushouse/nautilushouse4.jpg
./webprojects/mensh.ru/img/jsenosian/nautilushouse4.jpg
./webprojects/mensh.ru/images/nautilushouse/nautilushouse3.jpg
./webprojects/mensh.ru/img/jsenosian/nautilushouse3.jpg
./webprojects/mensh.ru/images/nautilushouse/nautilushouse9.jpg
./webprojects/mensh.ru/img/jsenosian/nautilushouse9.jpg
./webprojects/mensh.ru/images/nautilushouse/nautilushouse1.jpg
./webprojects/mensh.ru/img/jsenosian/nautilushouse1.jpg
...
oleg@mobile:~:$

Показаны группы дубликатов, найденных во всех указанных каталогах.

Удаление дубликатов файлов

Для удаления дубликатов файлов используется опция -d:

oleg@mobile:~:$ fdupes -d ./Directory/

При необходимости используется и опцию -r.

Примеры использования утилиты Linux fdupes, удаление дубликатов файлов

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

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

Проблемы при удалении дубликатов

Всегда следует помнить о некоторых потенциальных подводных камнях:

Потеря данных

При удалении файлов без проверки можно непреднамеренно удалить критически важные файлы

Производительность

Сканирование очень больших каталогов может занять значительное время

Ошибки

Существуют распространённые ошибки при использовании утилиты:

Отказано в доступе

Необходимо наличие разрешений для доступа к сканируемым каталогам

Дубликаты не найдены

Вероятнее всего сканируются не те каталоги

Заключение

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

Из этой статьи ясно, что пользоваться этим весьма полезным инструментом очень просто.

Последние материалы

  • Утилита sensors
    29 minutes 6 seconds ago
  • Сканер Rkhunter
    1 week ago
  • Программа resize2fs
    1 week 6 days ago
  • Аудиопроигрыватель QMMP
    2 weeks 4 days ago
  • Программа Timeshift
    3 weeks 3 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru