Hvordan finne og slette dupliserte filer i Linux

Hver dag laster vi ned, oppretter og redigerer forskjellige typer filer i operativsystemet vårt, i dette spesifikke tilfellet snakker vi om Linux, og en av de vanlige feilene er at vi ofte kan ha flere dupliserte filer som ikke bare opptar ekstra plass på harddisken, men kan bli en forvirrende faktor når du åpner og redigerer filer.

Ved mange anledninger har vi forskjellige filer på datamaskinene eller serverne våre, uavhengig av format, duplikater, og vi vet det ikke. Dette genererer å ta opp plass unødvendig og kunne jobbe med feil fil siden vi kan redigere den ene og deretter åpne den andre, etc. En praktisk måte å organisere arbeidsmiljøet vårt bedre på er å oppdage og eliminere disse dupliserte filene, slik at det på denne måten er mulig å bruke en enkelt fil.

Det er verdt å gjøre denne oppgaven ikke bare for å kunne slette duplikatene, men også for å utføre søk der vi kan eliminere og slette filene vi ikke lenger vil ha, men har gjentatt av forskjellige deler av Linux -operativsystemet. Uansett hvilken versjon det kan være i Fedora, Ubuntu, Debian, CentOS blant mange andre.

Vi så allerede i sin tid hvordan vi finner dupliserte filer i Windows, her fokuserer vi på Linux -miljøer, der vi har verktøy både på grafisk nivå og på kommandolinjen, som vil hjelpe oss med å finne disse filene og eliminere de vi anser som ikke brukbar.

Solvetic vil forklare hvordan du kan oppdage og eliminere dupliserte filer i Linux på en enkel, men funksjonell måte.

Hva er Rdfind -verktøyetRdfind er et kommandolinjeverktøy som er utviklet for å oppdage dupliserte filer i katalogen. Bruken kan brukes til å komprimere sikkerhetskopikataloger eller for å finne dupliserte filer på en enkel måte. Dette verktøyet sammenligner filer basert på innholdet, men ikke på filnavnene siden det er basert på kontrollsummen. Rdfind bruker en algoritme for å klassifisere filene og dermed oppdage hvilken av duplikatene som er originalen og dermed betrakte resten som duplikater. Reglene for bruk av Rdfind er:

  • Hvis A ble funnet mens du skannet et input -argument før B, er A rangert høyere.
  • Hvis A ble funnet på en dybde mindre enn B, er A rangert høyere.
  • Hvis A ble funnet før B, er A rangert høyere.

Hva er Rdfinds algoritmeRdfind, som vi har nevnt, bruker følgende algoritme der N er antall filer som skal søkes og innsatsen som kreves er O (Nlog (N)). Rdfind sorterer filer i inoder før de leses fra disk, så denne prosessen er rask og leser bare data fra disk når det er nødvendig. Algoritmen administrerer følgende sekvenser:

  • Det opprettes en løkke over hvert argument på kommandolinjen, hvert argument tildeles et prioritetsnummer i økende rekkefølge.
  • For hvert argument blir innholdet i katalogen oppført rekursivt og kartlagt til listen over filer.
  • Rdfind tilordner et katalogdybdenummer, som begynner med 0 for hvert argument.
  • Hvis inndataargumentet er en fil, blir den lagt til i fillisten.
  • Listen blir deretter krysset og størrelsene på alle filene blir oppdaget.
  • Hvis "-removeidentinode" -flagget er sant, fjernes elementene i listen som allerede er lagt til, i henhold til kombinasjonen av enhetsnummer og inode.
  • Filer sorteres etter størrelse, deretter fjernes filer fra listen, som har unike størrelser.
  • Den er ordnet etter enhet og inode som fremskynder lesing av filer).
  • Filer i listen som har samme størrelse, men forskjellige første byte, blir fjernet.
  • Kontrollsummen kjøres for hver fil.
  • Bare filer i listen med samme størrelse og kontrollsum beholdes. Dette er duplikatene.
  • Listen er sortert etter størrelse, prioritetsnummer og dybde. Den første filen i hvert sett med dubletter anses som originalen som standard.
  • Hvis du merker av for "-makeresultsfile true", skrives resultatfilen ut (standard).
  • Hvis flagget er "-deleteduplicates true", blir duplikatfilene slettet.
  • Hvis flagget er "-makesymlinks true", erstattes duplikatene med en symbolsk lenke til originalen.
  • Hvis resultatet er "-makehardlinks true", fortsetter vi med å erstatte duplikatene med en lenke til originalen.

1. Finn dupliserte filer med Rdfind -verktøyet på Linux

Trinn 1
For å installere Rdfind i Linux kan vi utføre en av 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) 

Steg 2
Når Rdfind er lastet ned og installert, skal vi kjøre det i en enkel katalog som følger:

 rdfind / home / Solvetic 

Trinn 3
Der kan vi se at antall filer i nevnte katalog er oppdaget, og det indikerer om dupliserte filer er eliminert eller ikke. Rdfind -verktøyet vil lagre resultatene i en results.txt -fil som ligger i den samme katalogen der programmet ble kjørt, vi kan se innholdet ved hjelp av cat:

 kattresultater.txt 

Trinn 4
En ekstra oppgave å bruke med rdfind er å bruke parameteren "-dryrun" som vil gi en liste over duplikater uten å gjøre noe med dem:

 rdfind -dryrun true / home / Solvetic 

Trinn 5
Hvis du oppdager duplikater, er det mulig å erstatte dem med hardkoblinger som dette.

 rdfind -makehardlinks true / home / user 
Trinn 6
For å eliminere duplikater må vi utføre følgende:
 rdfind -deleteduplicates true / home / user 
Trinn 7
For å få tilgang til hjelpen til Rdfind bruker vi følgende kommando:
 mann rdfind 

2. Finn dupliserte filer med Fdupes -verktøyet på Linux


Et annet alternativ vi har i Linux for å validere dupliserte filer er Fdupes. Det er et kommandolinjeverktøy som lar oss i detalj observere hvilke filer vi har duplikater på systemet. Fdupes er et program som er utviklet for å identifisere eller eliminere dupliserte filer i bestemte kataloger i Linux, det er åpen kildekode og gratis, og det er skrevet i C.

Funksjoner i FdupesFdupes bruker følgende metoder for å bestemme dupliserte filer i kataloger:

  • Sammenligning av delvise md5sum -signaturer.
  • Sammenligning av alle signaturene til md5sum.
  • Byte-for-byte sammenligningskontroll.

Når vi bruker Fdupes vil vi ha alternativer for bruk som:

  • Rekursivt søk.
  • Ekskluder tomme filer.
  • Vis størrelsen på dupliserte filer.
  • Fjern duplikatene umiddelbart.
  • Ekskluder filer med forskjellige eiere.

Trinn 1
Som standard er ikke dette verktøyet installert, så vi må skrive inn følgende kommando for å installere det. For å installere Fdupes utfører vi følgende kommando:

 sudo apt installer fdupes 

Steg 2
Når den er lastet ned, kan vi kjøre følgende linje for et enkelt søk. Der vil duplikatfilene vises.

 fdupes / sti til søk 

Trinn 3
For å utføre et rekursivt søk vil vi bruke følgende linje:

 fdupes -r / sti til søk 

Trinn 4
Det vil være mulig å spesifisere flere kataloger og spesifisere en katalog for å søke rekursivt som følger:

 fdupes -r 
Trinn 5
Hvis vi vil at Fdupes skal beregne størrelsen på dupliserte filer, bruker vi alternativet -S:
 fdupes -S 

Trinn 6
For å samle sammendragsinformasjon om filene vi finner vil vi bruke alternativet -m:

 fdupes -m 

Trinn 7
Hvis du vil slette alle duplikatene, utfører vi følgende:

 fdupes -d 
Trinn 8
Hvis vi ønsker å få tilgang til hjelp av verktøyet, kjører vi:
 fdupes -hjelp 
Trinn 9
Noen av de generelle bruksalternativene er:

For hver valgt katalog, få tilgang til underkatalogene

 -r -oppskrift 

Aktiver rekursivt søk

 -R -resurs 

Lag symbolske lenker

 -s -symlinks 

Når to eller flere filer peker på det samme målet, blir de behandlet som ikke-duplikater

 -H -hardlinks 

Ekskluder filer med null lengde

 -n -nompty 

Ekskluder skjulte filer

 -En -skjult 

Vis duplisert filstørrelse

 -S -størrelse 

Slett valgte filer

 -d -slette 

Skjul -q -stille

 -q -stille 

Velg sorteringsrekkefølge for utdata og sletting etter fil

 -o - ***** = BY 

Alternativer for sletting av loggfil til LOGFIL

 -l --logg = LOGFIL 

Distribuer Fdupes -versjonen

 -v -versjon 

Vis hjelpemeldingen

 -h - hjelp 

3. Finn dupliserte filer med FSlint -verktøyet på Linux


En annen som vi skal bruke er FSlint, som kommer som standard i de forskjellige Linux -ditroene som Ubuntu, Debian, Fedora, etc. For å vite mer om FSlint kan vi besøke følgende lenke:

Trinn 1
Vi kan søke etter FSlint fra Aktiviteter -menyen som skal brukes.

FORSTØRRE

Steg 2
Når det er åpnet, er det nødvendig at vi installerer programmet. For å gjøre dette, klikker du bare på Installer -knappen og installasjonsprosessen for verktøyet starter.

FORSTØRRE

Trinn 3
Når verktøyet er installert, fortsetter vi med utførelsen, og vi vil se følgende miljø:

Trinn 4
For å starte søkeprosessen for alle dupliserte filer, trykker du på "Søk" -knappen nederst, og resultatet vil være likt dette. Der kan vi velge de filene som ikke er nødvendige og slette dem ved å trykke på Slett -knappen. FSlint -verktøyet kan også brukes fra terminalen i Ubuntu 16.

Trinn 5
Hvis vi vil installere verktøyet fra terminalen, skriver vi inn kommandoen:
sudo apt-get install fslint

Trinn 6
Når FSlint er installert, legger vi inn følgende kommandoer for å bruke FSlint. Vi kan se at alle filene vi har duplikater i systemet vises.

 cd / usr / share / fslint / fslint (Dette er standardbanen i Ubuntu) ./fslint / Path for å finne filer

Viktig notatIngen av disse verktøyene sletter dupliserte filer, den viser oss bare hva de er, og vi må utføre denne oppgaven manuelt.

Vi kan se at vi har to praktiske alternativer for å oppdage og eliminere dupliserte filer i Linux -miljøer og dermed bedre administrere plassen og filene som skal brukes.

wave wave wave wave wave