Cele mai bune 5 instrumente pentru a găsi și șterge fișierele duplicate în Linux


Organizarea directorului dvs. de acasă sau chiar a sistemului poate fi deosebit de dificilă dacă aveți obiceiul de a descărca tot felul de lucruri de pe internet folosind managerii de descărcare.

Adesea este posibil să descoperiți că ați descărcat același mp3, pdf și epub (și tot felul de alte extensii de fișiere) și le-ați copiat în directoare diferite. Acest lucru poate face ca directoarele dvs. să devină aglomerate cu tot felul de lucruri duplicate inutile.

În acest tutorial, veți învăța cum să găsiți și să ștergeți fișiere duplicate în Linux folosind instrumentele de linie de comandă rdfind, fdupes și rmlint , precum și utilizarea instrumentelor GUI numite DupeGuru și FSlint.

O notă de precauție - aveți întotdeauna grijă ce ștergeți de pe sistem, deoarece acest lucru poate duce la pierderi nedorite de date. Dacă utilizați un instrument nou, încercați mai întâi într-un director de testare unde ștergerea fișierelor nu va fi o problemă.

1. Rdfind – Găsiți fișiere duplicate în Linux

Rdfind provine din găsirea redundantă a datelor, care este un instrument gratuit de linie de comandă folosit pentru a găsi fișiere duplicate în sau în mai multe directoare. Scanează recursiv directoare și identifică fișierele care au conținut identic, permițându-vă să luați măsuri adecvate, cum ar fi ștergerea sau mutarea duplicatelor.

Rdfind folosește un algoritm pentru a clasifica fișierele și detectează care dintre duplicate este fișierul original și le consideră pe celelalte drept duplicate.

Regulile de clasare sunt:

  • Dacă a fost găsit A în timpul scanării unui argument de intrare mai devreme decât B, A are o poziție mai bună.
  • 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 mai devreme decât B, A are o poziție mai bună.

Ultima regulă este folosită în special atunci când două fișiere sunt găsite în același director.

Instalați Rdfind pe Linux

Pentru a instala rdfind în Linux, utilizați următoarea comandă conform distribuției dvs. Linux.

sudo apt install rdfind         [On Debian, Ubuntu and Mint]
sudo yum install rdfind         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rdfind  [On Gentoo Linux]
sudo apk add rdfind             [On Alpine Linux]
sudo pacman -S rdfind           [On Arch Linux]
sudo zypper install rdfind      [On OpenSUSE]    

Pentru a rula rdfind într-un director pur și simplu tastați rdfind și directorul țintă.

rdfind /home/user

După cum puteți vedea, rdfind va salva rezultatele într-un fișier numit results.txt situat în același director de unde ați rulat programul. Fișierul conține toate fișierele duplicate pe care le-a găsit rdfind. Puteți examina fișierul și puteți elimina manual fișierele duplicate dacă doriți.

Un alt lucru pe care îl puteți face este să utilizați -dryrun o opțiune care va oferi o listă de duplicate fără a lua nicio acțiune:

rdfind -dryrun true /home/user

Când găsiți duplicatele, puteți alege să le înlocuiți cu link-uri hard.

rdfind -makehardlinks true /home/user

Și dacă doriți să ștergeți duplicatele, puteți rula.

rdfind -deleteduplicates true /home/user

Pentru a verifica alte opțiuni utile ale rdfind, puteți folosi manualul rdfind.

man rdfind 

2. Fdupes – Scanează pentru fișiere duplicate în Linux

Fdupes este un alt program de linie de comandă care vă permite să identificați fișierele duplicate pe sistemul dumneavoastră. Căută în directoare recursiv, comparând dimensiunile fișierelor și conținutul pentru a identifica duplicatele.

Utilizează următoarele metode pentru a determina fișierele duplicate:

  • Compararea semnăturilor md5sum parțiale
  • Compararea semnăturilor complete md5sum
  • verificarea comparației octet cu octet

La fel ca rdfind, are opțiuni similare:

  • Căutați recursiv
  • Excludeți fișierele goale
  • Afișează dimensiunea fișierelor duplicate
  • Ștergeți imediat duplicatele
  • Excludeți fișierele cu alt proprietar

Instalați Fdupes în Linux

Pentru a instala fdupes în Linux, utilizați următoarea comandă conform distribuției dvs. Linux.

sudo apt install fdupes         [On Debian, Ubuntu and Mint]
sudo yum install fdupes         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fdupes  [On Gentoo Linux]
sudo apk add fdupes             [On Alpine Linux]
sudo pacman -S fdupes           [On Arch Linux]
sudo zypper install fdupes      [On OpenSUSE]    

Sintaxa Fdupes este similară cu rdfind. Pur și simplu introduceți comanda urmată de directorul pe care doriți să îl scanați.

fdupes <dir>

Pentru a căuta fișiere recursiv, va trebui să specificați -r o opțiune ca aceasta.

fdupes -r <dir>

De asemenea, puteți să specificați mai multe directoare și să specificați un dir pentru a fi căutat recursiv.

fdupes <dir1> -r <dir2>

Pentru ca fdupes să calculeze dimensiunea fișierelor duplicate, utilizați opțiunea -S.

fdupes -S <dir>

Pentru a aduna informații rezumate despre fișierele găsite, utilizați opțiunea -m.

fdupes -m <dir>

În cele din urmă, dacă doriți să ștergeți toate duplicatele, utilizați -d o opțiune ca aceasta.

fdupes -d <dir>

Fdupes va întreba care dintre fișierele găsite să șteargă. Va trebui să introduceți numărul fișierului:

O soluție care cu siguranță nu este recomandată este utilizarea opțiunii -N care va avea ca rezultat păstrarea numai a primului fișier.

fdupes -dN <dir>

Pentru a obține o listă cu opțiunile disponibile de utilizat cu fdupes, examinați pagina de ajutor rulând.

fdupes -help

3. Rmlint – Eliminați fișierele duplicate

Rmlint este un instrument de linie de comandă care este utilizat pentru găsirea și eliminarea fișierelor duplicate și asemănătoare cu scame în sistemele Linux. Ajută la identificarea fișierelor cu conținut identic, precum și a diferitelor forme de redundanță sau scame, cum ar fi fișiere goale, legături simbolice întrerupte și fișiere orfane.

Instalați Rmlint pe Linux

Pentru a instala Rmlint în Linux, utilizați următoarea comandă conform distribuției dvs. Linux.

sudo apt install rmlint         [On Debian, Ubuntu and Mint]
sudo yum install rmlint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rmlint  [On Gentoo Linux]
sudo apk add rmlint             [On Alpine Linux]
sudo pacman -S rmlint           [On Arch Linux]
sudo zypper install rmlint      [On OpenSUSE]    

4. dupeGuru – Găsiți fișiere duplicate într-un Linux

dupeGuru este un instrument open-source și multiplatformă care poate fi folosit pentru a găsi fișiere duplicate într-un sistem Linux. Instrumentul poate scana fie nume de fișiere, fie conținut dintr-unul sau mai multe foldere. De asemenea, vă permite să găsiți numele fișierului care este similar cu fișierele pe care le căutați.

dupeGuru vine în versiuni diferite pentru platformele Windows, Mac și Linux. Caracteristica sa de algoritm de potrivire neclară rapidă vă ajută să găsiți fișiere duplicate într-un minut. Este personalizabil, puteți extrage exact fișierele duplicate pe care le doriți și ștergeți fișierele nedorite din sistem.

Instalați dupeGuru pe Linux

Pentru a instala dupeGuru în Linux, utilizați următoarea comandă conform distribuției dvs. Linux.

sudo apt install dupeguru         [On Debian, Ubuntu and Mint]
sudo yum install dupeguru         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/dupeguru  [On Gentoo Linux]
sudo apk add dupeguru             [On Alpine Linux]
sudo pacman -S dupeguru           [On Arch Linux]
sudo zypper install dupeguru      [On OpenSUSE]    

5. FSlint – Duplicate File Finder pentru Linux

FSlint este un utilitar gratuit care este folosit pentru a găsi și curăța diferite forme de scame de pe un sistem de fișiere. De asemenea, raportează fișiere duplicate, directoare goale, fișiere temporare, nume duplicate/conflictuale (binare), legături simbolice proaste și multe altele. Are atât linia de comandă, cât și modul GUI.

Cu toate acestea, este important să rețineți că, de la limitarea cunoștințelor mele din septembrie 2022, FSlint a fost actualizat ultima dată în 2013 și este posibil să nu fie întreținut activ sau compatibil cu distribuțiile Linux mai noi.

Instalați FSlint pe Linux

Pentru a instala FSlint în Linux, utilizați următoarea comandă conform distribuției dvs. Linux.

sudo apt install fslint         [On Debian, Ubuntu and Mint]
sudo yum install fslint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fslint  [On Gentoo Linux]
sudo apk add fslint             [On Alpine Linux]
sudo pacman -S fslint           [On Arch Linux]
sudo zypper install fslint      [On OpenSUSE]    

Concluzie

Acestea sunt instrumente foarte utile pentru a găsi fișiere duplicate pe sistemul dumneavoastră Linux, dar ar trebui să fiți foarte atenți când ștergeți astfel de fișiere.

Dacă nu sunteți sigur dacă aveți nevoie de un fișier sau nu, ar fi mai bine să creați o copie de rezervă a acelui fișier și să vă amintiți directorul său înainte de a-l șterge. Dacă aveți întrebări sau comentarii, vă rugăm să le trimiteți în secțiunea de comentarii de mai jos.