Как да намерите и изтриете дублирани файлове в Linux

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

В много случаи имаме на нашите настолни компютри или сървъри различни файлове, независимо от техния формат, дубликати и ние не го знаем. Това генерира ненужно заемане на място и възможност за работа с грешен файл, тъй като можем да редактираме единия и след това да отворим другия и т.н. Практичен начин за по -добро организиране на нашата работна среда е чрез откриване и елиминиране на тези дублирани файлове, така че по този начин е възможно да се използва един -единствен файл.

Струва си да направите тази задача не само, за да можете да изтриете дубликатите, но и да извършите търсене, където можем да премахнем и изтрием файловете, които вече не искаме, но сме повтаряли от различни части на операционната система Linux. Без значение каква версия може да бъде във Fedora, Ubuntu, Debian, CentOS и много други.

Вече видяхме в наши дни как да намерим дублирани файлове в Windows, тук се фокусираме върху Linux среди, където имаме инструменти както на графично ниво, така и на командния ред, които ще ни помогнат да намерим тези файлове и да премахнем тези, които смятаме, че са безполезно.

Solvetic ще обясни как да открива и елиминира дублиращи се файлове в Linux по прост, но функционален начин.

Какво представлява помощната програма RdfindRdfind е инструмент за командния ред, който е разработен за откриване на дублиращи се файлове в директорията. Използването му може да се приложи за компресиране на директории за архивиране или за намиране на дублиращи се файлове по прост начин. Тази помощна програма сравнява файловете въз основа на тяхното съдържание, но не и на техните имена, тъй като се основава на контролната сума. Rdfind използва алгоритъм, за да класифицира файловете и по този начин да открие кой от дубликатите е оригинален и по този начин да разгледа останалите като дубликати. Правилата за използване на Rdfind са:

  • Ако A е намерен при сканиране на входен аргумент преди B, A се класира по -високо.
  • Ако А е намерен на дълбочина по -малка от В, А се класира по -високо.
  • Ако A е намерен преди B, A е класиран по -високо.

Какво представлява алгоритъмът на RdfindRdfind, както споменахме, използва следния алгоритъм, където N е броят на файловете за търсене и изискваното усилие е O (Nlog (N)). Rdfind сортира файлове в inodes преди четене от диск, така че този процес е бърз и чете данни от диска само когато е необходимо. Алгоритъмът управлява следните последователности:

  • Над всеки аргумент в командния ред се създава цикъл, на всеки аргумент се присвоява приоритетен номер в нарастващ ред.
  • За всеки аргумент съдържанието на директорията се изброява рекурсивно и се съпоставя със списъка с файлове.
  • Rdfind присвоява номер на дълбочина на директория, започвайки от 0 за всеки аргумент.
  • Ако входният аргумент е файл, той ще бъде добавен към списъка с файлове.
  • След това списъкът се преминава и се откриват размерите на всички файлове.
  • Ако флагът „-removeidentinode“ е верен, елементите от списъка, които вече са добавени, се премахват, в съответствие с комбинацията от номер на устройство и inode.
  • Файловете се сортират по размер, след това файловете се премахват от списъка, които имат уникални размери.
  • Подрежда се по устройство и inode, което ускорява четенето на файлове).
  • Файловете в списъка с еднакъв размер, но различни първи байтове се премахват.
  • Контролната сума се изпълнява за всеки файл.
  • Съхраняват се само файлове в списъка със същия размер и контролна сума. Това са дубликатите.
  • Списъкът е сортиран по размер, номер на приоритет и дълбочина. Първият файл във всеки набор от дубликати се счита за оригинал по подразбиране.
  • Ако проверите „-makeresultsfile true“, файлът с резултатите се отпечатва (по подразбиране).
  • Ако флагът е "-deleteduplicates true", дублиращите се файлове ще бъдат изтрити.
  • Ако флагът е "-makesymlinks true", дубликатите се заменят със символична връзка към оригинала.
  • Ако резултатът е „-makehardlinks true“, пристъпваме към замяна на дубликатите с връзка към оригинала.

1. Намерете дублирани файлове с помощната програма Rdfind в Linux

Етап 1
За да инсталираме Rdfind в Linux, можем да изпълним някоя от следните команди:

 sudo apt инсталирайте rdfind (Debian / Ubuntu / Mint) sudo yum инсталирайте epel-release && $ sudo yum инсталирайте rdfind (CentOS / RHEL) sudo dnf инсталирайте rdfind (Fedora) 

Стъпка 2
След като Rdfind бъде изтеглен и инсталиран, ще го стартираме в проста директория, както следва:

 rdfind / home / Solvetic 

Стъпка 3
Там можем да видим, че броят на файловете в споменатата директория е открит и показва дали дублиращите се файлове са били елиминирани. Помощната програма Rdfind ще запише резултатите във файл results.txt, разположен в същата директория, от която е изпълнена програмата, можем да видим съдържанието му с помощта на cat:

 cat results.txt 

Стъпка 4
Допълнителна задача за използване с rdfind е да използвате параметъра "-dryrun", който ще предостави списък с дубликати, без да предприема никакви действия по тях:

 rdfind -dryrun true / home / Solvetic 

Стъпка 5
В случай на откриване на дубликати е възможно да ги замените с твърди връзки по този начин.

 rdfind -makehardlinks true / home / user 
Стъпка 6
За да премахнем дубликатите, трябва да изпълним следното:
 rdfind -deleteduplicates true / home / user 
Стъпка 7
За достъп до помощта на Rdfind ще използваме следната команда:
 човек rdfind 

2. Намерете дублирани файлове с помощната програма Fdupes в Linux


Друга възможност, която имаме в Linux за валидиране на дублиращи се файлове, е Fdupes. Това е инструмент от командния ред, който ни позволява да наблюдаваме в детайли кои файлове имаме дубликати в системата. Fdupes е програма, която е разработена за идентифициране или премахване на дублиращи се файлове, поместени в определени директории в Linux, тя е с отворен код и безплатна и е написана на C.

Характеристики на FdupesFdupes използва следните методи за определяне на дублиращи се файлове в директории:

  • Сравняване на частични подписи md5sum.
  • Сравняване на всички подписи на md5sum.
  • Проверка за сравнение по байт по байт.

Когато използваме Fdupes, ще имаме опции за използване като:

  • Рекурсивно търсене.
  • Изключете празни файлове.
  • Показва размера на дублиращите се файлове.
  • Незабавно премахнете дубликатите.
  • Изключете файлове с различни собственици.

Етап 1
По подразбиране този инструмент не е инсталиран, затова трябва да въведем следната команда, за да го инсталираме. За да инсталираме Fdupes, ще изпълним следната команда:

 sudo apt инсталирате fdupes 

Стъпка 2
След като бъде изтеглено, можем да стартираме следния ред за просто търсене. Там ще се покажат дублиращите се файлове.

 fdupes / път за търсене 

Стъпка 3
За да извършим рекурсивно търсене, ще използваме следния ред:

 fdupes -r / път за търсене 

Стъпка 4
Ще бъде възможно да се посочат няколко директории и да се посочи директория за рекурсивно търсене, както следва:

 fdupes -r 
Стъпка 5
Ако искаме Fdupes да изчисли размера на дублиращите се файлове, ще използваме опцията -S:
 fdupes -S 

Стъпка 6
За да съберем обобщена информация за намерените файлове, ще използваме опцията -m:

 fdupes -m 

Стъпка 7
В случай, че искате да изтриете всички дубликати, ще изпълним следното:

 fdupes -d 
Стъпка 8
Ако искаме да получим помощ от помощната програма, която изпълняваме:
 fdupes -помощ 
Стъпка 9
Някои от общите опции за използване са:

За всяка избрана директория влезте в нейните поддиректории

 -r -повторение 

Активирайте рекурсивно търсене

 -R -повторение 

Създайте символични връзки

 -s -simlinks 

Когато два или повече файла сочат към една и съща цел, те се третират като недублирани

 -H -връзки 

Изключете файлове с нулева дължина

 -n -непразна 

Изключете скритите файлове

 -А -крито 

Показване на дублиращ се размер на файла

 -S -размер 

Изтрийте избраните файлове

 -d -изтриване 

Скрийте -q -quiet

 -q -тихо 

Изберете ред за сортиране за извеждане и изтриване по файл

 -o - ***** = BY 

Опции за изтриване на регистрационен файл в LOGFILE

 -l --log = LOGFILE 

Разгърнете версията Fdupes

 -v -версия 

Показване на съобщението за помощ

 -h - помощ 

3. Намерете дублирани файлове с помощната програма FSlint в Linux


Друго, което ще използваме, е FSlint, който се предлага по подразбиране в различните дитроси на Linux, като Ubuntu, Debian, Fedora и т.н. За да научите повече за FSlint, можем да посетим следната връзка:

Етап 1
Можем да търсим FSlint от менюто Activities, което да използваме.

Увеличете

Стъпка 2
След като се отвори, е необходимо да инсталираме приложението, за да направите това, просто кликнете върху бутона Инсталиране и процесът на инсталиране на помощната програма ще започне.

Увеличете

Стъпка 3
След като инструментът е инсталиран, пристъпваме към неговото изпълнение и ще видим следната среда:

Стъпка 4
За да започнете процеса на търсене на всички дублирани файлове, натиснете бутона "Търсене", разположен в долната част, и резултатът ще бъде подобен на този. Там можем да изберем тези файлове, които не са необходими и да ги изтрием, като натиснем бутона Delete. Инструментът FSlint може да се използва и от терминала в Ubuntu 16.

Стъпка 5
Ако искаме да инсталираме инструмента от терминала, ще въведем командата:
sudo apt-get инсталирайте fslint

Стъпка 6
След като FSlint е инсталиран, ще въведем следните команди, за да използваме FSlint. Можем да видим, че всички файлове, които имаме дубликати в Системата, се показват.

 cd / usr / share / fslint / fslint (Това е пътят по подразбиране в Ubuntu) ./fslint / Път за намиране на файлове

Важна забележкаНито един от тези инструменти не изтрива дублиращи се файлове, той само ни показва какви са и трябва да изпълним тази задача ръчно.

Можем да видим, че имаме две практически възможности за откриване и премахване на дублиращи се файлове в Linux среди и по този начин по -добре да управляваме пространството и файловете за използване.

wave wave wave wave wave