Sådan finder og sletter dubletter i Linux

Hver dag downloader, opretter og redigerer vi forskellige typer filer i vores operativsystem, i dette specifikke tilfælde taler vi om Linux, og en af ​​de almindelige fejl er, at vi ofte kan have flere dublerede filer, der ikke kun fylder ekstra plads på harddisken, men kan blive en forvirrende faktor ved åbning og redigering af filer.

Ved mange lejligheder har vi forskellige filer på vores desktops eller servere, uanset deres format, dubletter, og vi ved det ikke. Dette genererer at optage plads unødigt og være i stand til at arbejde med en forkert fil, da vi kan redigere den ene og derefter åbne den anden osv. En praktisk måde til bedre at organisere vores arbejdsmiljø på er ved at opdage og fjerne disse dublerede filer, så det på denne måde er muligt at gøre brug af en enkelt fil.

Det er værd at udføre denne opgave ikke kun for at kunne slette dubletterne, men også at foretage søgninger, hvor vi kan fjerne og slette de filer, som vi ikke længere ønsker, men har gentaget af forskellige dele af Linux -operativsystemet. Uanset hvilken version det kan være i Fedora, Ubuntu, Debian, CentOS blandt mange andre.

Vi så allerede i sin tid, hvordan man finder dublerede filer i Windows, her fokuserer vi på Linux -miljøer, hvor vi har værktøjer både på det grafiske niveau og på kommandolinjen, som vil hjælpe os med at finde disse filer og fjerne dem, som vi anser er ikke nyttig.

Solvetic vil forklare, hvordan man opdager og fjerner dublerede filer i Linux på en enkel, men funktionel måde.

Hvad er Rdfind -værktøjetRdfind er et kommandolinjeværktøj, der er udviklet til at registrere dublerede filer i biblioteket. Dets anvendelse kan anvendes til at komprimere backup -mapper eller til at finde dublerede filer på en enkel måde. Dette værktøj sammenligner filer baseret på deres indhold, men ikke på deres filnavne, da det er baseret på kontrolsummen. Rdfind gør brug af en algoritme for at klassificere filerne og dermed opdage, hvilke af dubletterne der er originalen og dermed betragte resten som dubletter. Reglerne for brug af Rdfind er:

  • Hvis A blev fundet under scanning af et inputargument før B, er A rangeret højere.
  • Hvis A blev fundet på en dybde mindre end B, er A rangeret højere.
  • Hvis A blev fundet før B, er A rangeret højere.

Hvad er Rdfinds algoritmeRdfind, som vi har nævnt, gør brug af følgende algoritme, hvor N er antallet af filer, der skal søges, og den krævede indsats er O (Nlog (N)). Rdfind sorterer filer i inoder, før de læses fra disk, så denne proces er hurtig og læser kun data fra disk, når det kræves. Algoritmen administrerer følgende sekvenser:

  • Der oprettes en loop over hvert argument på kommandolinjen, hvert argument tildeles et prioritetsnummer i stigende rækkefølge.
  • For hvert argument er bibliotekets indhold opført rekursivt og tilknyttet listen over filer.
  • Rdfind tildeler et biblioteksdybdenummer, der starter ved 0 for hvert argument.
  • Hvis inputargumentet er en fil, tilføjes det til fillisten.
  • Listen gennemgås derefter, og størrelsen af ​​alle filer opdages.
  • Hvis "-removeidentinode" -flaget er sandt, fjernes elementerne på listen, der allerede er tilføjet, i henhold til kombinationen af ​​enhedsnummer og inode.
  • Filer sorteres efter størrelse, derefter fjernes filer fra listen, som har unikke størrelser.
  • Det er ordnet efter enhed og inode, hvilket fremskynder læsningen af ​​filer).
  • Filer på listen, der har samme størrelse, men forskellige første bytes fjernes.
  • Kontrolsummen køres for hver fil.
  • Kun filer på listen med samme størrelse og kontrolsum bevares. Disse er dubletterne.
  • Listen er sorteret efter størrelse, prioritetsnummer og dybde. Den første fil i hvert sæt dubletter betragtes som originalen som standard.
  • Hvis du markerer "-makeresultsfile true", udskrives resultatfilen (standard).
  • Hvis flaget er "-deleteduplicates true", slettes de dublerede filer.
  • Hvis flaget er "-makesymlinks true", erstattes dubletterne med et symbolsk link til originalen.
  • Hvis resultatet er "-makehardlinks true", fortsætter vi med at erstatte dubletterne med et link til originalen.

1. Find dublerede filer med Rdfind -værktøj på Linux

Trin 1
For at installere Rdfind i Linux kan vi udføre en af ​​følgende kommandoer:

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

Trin 2
Når Rdfind er downloadet og installeret, vil vi køre det i et simpelt bibliotek som følger:

 rdfind / home / Solvetic 

Trin 3
Der kan vi se, at antallet af filer i nævnte bibliotek er opdaget, og det angiver, om dublerede filer er blevet elimineret eller ej. Rdfind -værktøjet gemmer resultaterne i en results.txt -fil i den samme mappe, hvorfra programmet blev kørt, vi kan se dets indhold ved hjælp af cat:

 kat resultater.txt 

Trin 4
En ekstra opgave, der skal bruges med rdfind, er at bruge parameteren "-dryrun", som giver en liste over dubletter uden at foretage sig noget ved dem:

 rdfind -dryrun true / home / Solvetic 

Trin 5
I tilfælde af at detektere dubletter, er det muligt at erstatte dem med hardlinks som denne.

 rdfind -makehardlinks true / home / user 
Trin 6
For at fjerne dubletter skal vi udføre følgende:
 rdfind -deleteduplicates true / home / user 
Trin 7
For at få adgang til hjælp fra Rdfind vil vi bruge følgende kommando:
 mand rdfind 

2. Find dublerede filer med Fdupes -værktøjet på Linux


En anden mulighed, vi har i Linux til at validere dublerede filer, er Fdupes. Det er et kommandolinjeværktøj, der giver os mulighed for detaljeret at observere, hvilke filer vi har dubletter på systemet. Fdupes er et program, der er udviklet til at identificere eller eliminere dublerede filer, der er indeholdt i bestemte mapper i Linux, det er open source og gratis, og det er skrevet i C.

Funktioner i FdupesFdupes gør brug af følgende metoder til at bestemme dublerede filer i mapper:

  • Sammenligning af delvise md5sum -signaturer.
  • Sammenligning af alle underskrifter af md5sum.
  • Byte-by-byte sammenligningskontrol.

Når vi bruger Fdupes, har vi muligheder for brug som:

  • Rekursiv søgning.
  • Ekskluder tomme filer.
  • Vis størrelsen på dublerede filer.
  • Fjern dubletter med det samme.
  • Ekskluder filer med forskellige ejere.

Trin 1
Som standard er dette værktøj ikke installeret, så vi skal indtaste følgende kommando for at installere det. For at installere Fdupes udfører vi følgende kommando:

 sudo apt installere fdupes 

Trin 2
Når det er downloadet, kan vi køre følgende linje for en simpel søgning. Der vil de dublerede filer blive vist.

 fdupes / sti til søgning 

Trin 3
For at udføre en rekursiv søgning vil vi bruge følgende linje:

 fdupes -r / sti til søgning 

Trin 4
Det vil være muligt at angive flere mapper og angive et bibliotek, der skal søges rekursivt som følger:

 fdupes -r 
Trin 5
Hvis vi vil have Fdupes til at beregne størrelsen af ​​dublerede filer, vil vi bruge indstillingen -S:
 fdupes -S 

Trin 6
For at indsamle resuméoplysninger om de fundne filer vil vi bruge indstillingen -m:

 fdupes -m 

Trin 7
Hvis du vil slette alle dubletterne, udfører vi følgende:

 fdupes -d 
Trin 8
Hvis vi ønsker at få adgang til hjælpeprogrammet, udfører vi:
 fdupes -hjælp 
Trin 9
Nogle af de generelle anvendelsesmuligheder er:

For hvert valgt bibliotek skal du få adgang til dets undermapper

 -r -recurse 

Aktiver rekursiv søgning

 -R -recurse 

Opret symbolske links

 -s -symlinks 

Når to eller flere filer peger på det samme mål, behandles de som ikke-dubletter

 -H -hardlinks 

Ekskluder nul længde filer

 -n -nompty 

Ekskluder skjulte filer

 -En -skjult 

Vis dobbelt filstørrelse

 -S -størrelse 

Slet valgte filer

 -d -slet 

Skjul -q -stille

 -q -stille 

Vælg sorteringsrækkefølge for output og sletning efter fil

 -o - ***** = BY 

Muligheder for sletning af logfiler til LOGFIL

 -l --log = LOGFIL 

Implementér Fdupes -versionen

 -v -version 

Vis hjælpemeddelelsen

 -h - hjælp 

3. Find dublerede filer med FSlint -værktøjet på Linux


En anden, som vi skal bruge, er FSlint, som som standard kommer i de forskellige Linux -ditroer som Ubuntu, Debian, Fedora osv. For at vide mere om FSlint kan vi besøge følgende link:

Trin 1
Vi kan søge efter FSlint fra menuen Aktiviteter, der skal bruges.

FORSTØRRE

Trin 2
Når det er åbent, er det nødvendigt, at vi installerer applikationen. For at gøre dette skal du blot klikke på knappen Installer, og installationsprocessen for værktøjet starter.

FORSTØRRE

Trin 3
Når værktøjet er installeret, går vi videre til dets udførelse, og vi vil se følgende miljø:

Trin 4
For at starte søgeprocessen efter alle dublerede filer skal du trykke på knappen "Søg" nederst, og resultatet ligner dette. Der kan vi vælge de filer, der ikke er nødvendige, og slette dem ved at trykke på knappen Slet. FSlint -værktøjet kan også bruges fra terminalen i Ubuntu 16.

Trin 5
Hvis vi vil installere værktøjet fra terminalen, indtaster vi kommandoen:
sudo apt-get install fslint

Trin 6
Når FSlint er installeret, indtaster vi følgende kommandoer for at bruge FSlint. Vi kan se, at alle de filer, vi har dubletter i systemet, vises.

 cd / usr / share / fslint / fslint (Dette er standardstien i Ubuntu) ./fslint / Path for at finde filer

Vigtig noteIngen af ​​disse værktøjer sletter dubletter, det viser os kun, hvad de er, og vi skal udføre denne opgave manuelt.

Vi kan se, at vi har to praktiske muligheder for at opdage og eliminere dublerede filer i Linux -miljøer og dermed bedre styre rummet og de filer, der skal bruges.

wave wave wave wave wave