Cum să găsiți și să ștergeți fișiere duplicate în Linux

În fiecare zi descărcăm, creăm și edităm diferite tipuri de fișiere în sistemul nostru de operare, în acest caz specific vorbim despre Linux și unul dintre eșecurile obișnuite este acela că putem avea frecvent mai multe fișiere duplicate care, nu numai că ocupă un plus spațiu pe hard disk, dar poate deveni un factor confuz atunci când deschideți și editați fișiere.

În multe ocazii avem pe desktop-uri sau servere diverse fișiere, indiferent de formatul acestora, duplicate și nu le știm. Acest lucru generează ocuparea spațiului inutil și posibilitatea de a lucra cu un fișier greșit, deoarece putem edita unul și apoi îl putem deschide pe celălalt etc. O modalitate practică de a ne organiza mai bine mediul de lucru este prin detectarea și eliminarea acestor fișiere duplicate, astfel încât în ​​acest mod să fie posibil să se utilizeze un singur fișier.

Merită să faceți această sarcină nu numai pentru a putea șterge duplicatele, ci și pentru a efectua căutări în care putem elimina și șterge fișierele pe care nu le mai dorim, dar le-am repetat de diferite părți ale sistemului de operare Linux. Indiferent de versiune, așa cum poate fi în Fedora, Ubuntu, Debian, CentOS, printre multe altele.

Am văzut deja în ziua sa cum să găsim fișiere duplicate în Windows, aici ne concentrăm pe mediile Linux, unde avem instrumente atât la nivel grafic, cât și la linia de comandă, care ne vor ajuta să găsim aceste fișiere și să le eliminăm pe cele pe care le considerăm sunt nefolositor.

Solvetic vă va explica cum să detectați și să eliminați fișierele duplicate în Linux într-un mod simplu, dar funcțional.

Ce este utilitarul RdfindRdfind este un instrument de linie de comandă care a fost dezvoltat pentru a detecta fișierele duplicate din director. Utilizarea acestuia poate fi aplicată pentru a comprima directoare de rezervă sau pentru a găsi fișiere duplicate într-un mod simplu, acest utilitar compară fișierele pe baza conținutului lor, dar nu și pe numele fișierelor lor, deoarece se bazează pe suma de control. Rdfind folosește un algoritm pentru a clasifica fișierele și astfel a detecta care dintre duplicate este originalul și, astfel, consideră restul drept duplicate. Regulile de utilizare a Rdfind sunt:

  • Dacă A a fost găsit în timpul scanării unui argument de intrare înainte de B, A este clasat mai sus.
  • Dacă A a fost găsit la o adâncime mai mică decât B, A este clasat mai sus.
  • Dacă A a fost găsit înainte de B, A este clasat mai sus.

Ce este algoritmul RdfindRdfind, după cum am menționat, folosește următorul algoritm în care N este numărul de fișiere de căutat și efortul necesar este O (Nlog (N)). Rdfind sortează fișierele în inoduri înainte de a citi de pe disc, astfel încât acest proces este rapid și citește datele de pe disc numai atunci când este necesar. Algoritmul gestionează următoarele secvențe:

  • Se creează o buclă peste fiecare argument de pe linia de comandă, fiecărui argument i se atribuie un număr de prioritate, în ordine crescătoare.
  • Pentru fiecare argument, conținutul directorului este listat recursiv și mapat la lista de fișiere.
  • Rdfind atribuie un număr de adâncime de director, începând de la 0 pentru fiecare argument.
  • Dacă argumentul de intrare este un fișier, acesta va fi adăugat la lista de fișiere.
  • Lista este apoi traversată și dimensiunile tuturor fișierelor sunt descoperite.
  • Dacă semnalizatorul „-removeidentinode” este adevărat, elementele listei care au fost deja adăugate sunt eliminate, în funcție de combinația dintre numărul dispozitivului și inode.
  • Fișierele sunt sortate după mărime, apoi fișierele sunt eliminate din listă, care au dimensiuni unice.
  • Este comandat de dispozitiv și de inod care accelerează citirea fișierelor).
  • Fișierele din listă care au aceeași dimensiune, dar primii octeți diferiți sunt eliminați.
  • Suma de control se execută pentru fiecare fișier.
  • Sunt păstrate doar fișierele din listă cu aceeași dimensiune și sumă de control. Acestea sunt duplicatele.
  • Lista este sortată după mărime, număr de prioritate și adâncime. Primul fișier din fiecare set de duplicate este considerat original în mod implicit.
  • Dacă bifați „-makeresultsfile true”, fișierul cu rezultate este tipărit (implicit).
  • Dacă semnalizatorul este „-deleteduplicates true”, fișierele duplicat vor fi șterse.
  • Dacă semnalizatorul este „-makesymlinks true”, duplicatele sunt înlocuite cu un link simbolic către original.
  • În cazul în care rezultatul este „-face hardlinks true”, continuăm să înlocuim duplicatele cu un link către original.

1. Găsiți fișiere duplicate cu utilitarul Rdfind pe Linux

Pasul 1
Pentru a instala Rdfind în Linux putem executa oricare dintre următoarele comenzi:

 sudo apt install rdfind (Debian / Ubuntu / Mint) sudo yum install epel-release && $ sudo yum install rdfind (CentOS / RHEL) sudo dnf install rdfind (Fedora) 

Pasul 2
Odată ce Rdfind este descărcat și instalat, îl vom rula într-un director simplu, după cum urmează:

 rdfind / home / Solvetic 

Pasul 3
Acolo putem vedea că numărul de fișiere din directorul menționat este detectat și indică dacă fișierele duplicate au fost sau nu eliminate. Utilitarul Rdfind va salva rezultatele într-un fișier results.txt situat în același director de unde a fost rulat programul, putem vedea conținutul acestuia folosind cat:

 cat results.txt 

Pasul 4
O sarcină suplimentară de utilizat cu rdfind este utilizarea parametrului "-dryrun" care va furniza o listă de duplicate fără a lua nicio măsură asupra acestora:

 rdfind -dryrun true / home / Solvetic 

Pasul 5
În cazul detectării duplicatelor, este posibil să le înlocuiți cu legături dure precum aceasta.

 rdfind -makehardlinks true / home / user 
Pasul 6
Pentru a elimina duplicatele trebuie să executăm următoarele:
 rdfind -deleteduplicates true / home / user 
Pasul 7
Pentru a accesa ajutorul Rdfind vom folosi următoarea comandă:
 om rdfind 

2. Găsiți fișiere duplicate cu utilitarul Fdupes pe Linux


O altă opțiune pe care o avem în Linux pentru validarea fișierelor duplicate este Fdupes. Este un instrument de linie de comandă care ne permite să observăm în detaliu ce fișiere avem duplicate pe sistem. Fdupes este un program care a fost dezvoltat pentru a identifica sau elimina fișierele duplicate adăpostite în directoare specifice din Linux, este open source și gratuit și este scris în C.

Caracteristicile FdupesFdupes folosește următoarele metode pentru a determina fișierele duplicate din directoare:

  • Compararea semnăturilor parțiale md5sum.
  • Comparând toate semnăturile md5sum.
  • Verificare comparație byte byte.

Când utilizați Fdupes, vom avea opțiuni de utilizare, cum ar fi:

  • Căutare recursivă.
  • Excludeți fișierele goale.
  • Afișați dimensiunea fișierelor duplicat.
  • Eliminați duplicatele imediat.
  • Excludeți fișiere cu diferiți proprietari.

Pasul 1
În mod implicit, acest instrument nu este instalat, deci trebuie să introducem următoarea comandă pentru al instala. Pentru a instala Fdupes vom executa următoarea comandă:

 sudo apt instalează fdupes 

Pasul 2
Odată descărcat, putem rula următoarea linie pentru o căutare simplă. Acolo vor fi afișate fișierele duplicate.

 fdupes / cale de căutare 

Pasul 3
Pentru a executa o căutare recursivă vom folosi următoarea linie:

 fdupes -r / cale de căutare 

Pasul 4
Va fi posibil să specificați mai multe directoare și să specificați un director pentru a căuta recursiv după cum urmează:

 fdupes -r 
Pasul 5
Dacă dorim ca Fdupes să calculeze dimensiunea fișierelor duplicat, vom folosi opțiunea -S:
 fdupes -S 

Pasul 6
Pentru a colecta informații sumare despre fișierele găsite vom folosi opțiunea -m:

 fdupes -m 

Pasul 7
În cazul în care doriți să ștergeți toate duplicatele, vom executa următoarele:

 fdupes -d 
Pasul 8
Dacă dorim să accesăm ajutorul utilitarului pe care îl executăm:
 fdupes -help 
Pasul 9
Unele dintre opțiunile generale de utilizare sunt:

Pentru fiecare director selectat, accesați subdirectoarele sale

 -r -recurs 

Activați căutarea recursivă

 -R - recurs 

Creați legături simbolice

 -s -simlinkuri 

Când două sau mai multe fișiere indică aceeași țintă, acestea sunt tratate ca non-duplicate

 -H-legături dure 

Excludeți fișierele cu lungime zero

 -n -nu-gol 

Excludeți fișierele ascunse

 -A -nohidden 

Afișați dimensiunea fișierului duplicat

 -S -mărimea 

Ștergeți fișierele selectate

 -d-șterge 

Ascundeți -q-liniște

 -q -quiet 

Selectați ordinea de sortare pentru ieșire și ștergere după fișier

 -o - ***** = BY 

Opțiuni de ștergere a fișierului jurnal în LOGFILE

 -l --log = LOGFILE 

Implementați versiunea Fdupes

 -v -versiune 

Afișați mesajul de ajutor

 -h - ajutor 

3. Găsiți fișiere duplicate cu utilitarul FSlint pe Linux


Un alt lucru pe care îl vom folosi este FSlint, care vine în mod implicit în diferitele ditro Linux, cum ar fi Ubuntu, Debian, Fedora etc. Pentru a afla mai multe despre FSlint putem vizita următorul link:

Pasul 1
Putem căuta FSlint din meniul Activități de utilizat.

MARI

Pasul 2
Odată deschis, este necesar să instalăm aplicația, pentru a face acest lucru, trebuie doar să faceți clic pe butonul Instalare și va începe procesul de instalare a utilitarului.

MARI

Pasul 3
Odată ce instrumentul a fost instalat, trecem la executarea acestuia și vom vedea următorul mediu:

Pasul 4
Pentru a începe procesul de căutare pentru toate fișierele duplicat, apăsați butonul „Căutare” situat în partea de jos și rezultatul va fi similar cu acesta. Acolo putem selecta acele fișiere care nu sunt necesare și le putem șterge apăsând butonul Șterge. Instrumentul FSlint poate fi utilizat și de pe terminal în Ubuntu 16.

Pasul 5
Dacă dorim să instalăm instrumentul de la terminal vom introduce comanda:
sudo apt-get install fslint

Pasul 6
Odată ce FSlint este instalat, vom introduce următoarele comenzi pentru a utiliza FSlint. Putem vedea că sunt afișate toate fișierele pe care le avem în sistem.

 cd / usr / share / fslint / fslint (Aceasta este calea implicită în Ubuntu) ./fslint / Calea pentru a găsi fișiere

Notă importantăNiciunul dintre aceste instrumente nu șterge fișierele duplicat, ne arată doar ce sunt și trebuie să efectuăm această sarcină manual.

Putem vedea că avem două opțiuni practice pentru a detecta și elimina fișierele duplicate în mediile Linux și, astfel, să gestionăm mai bine spațiul și fișierele de utilizat.

wave wave wave wave wave