Hur man hittar och tar bort dubblettfiler i Linux

Varje dag laddar vi ner, skapar och redigerar olika typer av filer i vårt operativsystem, i det här specifika fallet pratar vi om Linux, och ett av de vanliga misslyckandena är att vi ofta kan ha flera dubblettfiler som inte bara upptar extra utrymme på hårddisken, men kan bli en förvirrande faktor när du öppnar och redigerar filer.

Vid många tillfällen har vi olika filer på våra stationära datorer eller servrar, oavsett format, dubbletter och vi vet inte det. Detta genererar att ta upp plats i onödan och kunna arbeta med en fel fil eftersom vi kan redigera den ena och sedan öppna den andra, etc. Ett praktiskt sätt att bättre organisera vår arbetsmiljö är genom att upptäcka och eliminera dessa dubblettfiler så att det på detta sätt är möjligt att använda en enda fil.

Det är värt att utföra den här uppgif.webpten inte bara för att kunna radera dubbletterna, utan också för att utföra sökningar där vi kan eliminera och radera filer som vi inte längre vill ha utan har upprepats av olika delar av Linux -operativsystemet. Oavsett vilken version det kan vara i Fedora, Ubuntu, Debian, CentOS bland många andra.

Vi såg redan på sin tid hur man hittar dubbletter av filer i Windows, här fokuserar vi på Linux -miljöer, där vi har verktyg både på grafisk nivå och på kommandoraden, vilket hjälper oss att hitta dessa filer och eliminera de som vi anser är ej användbar.

Solvetic kommer att förklara hur man upptäcker och eliminerar dubblettfiler i Linux på ett enkelt men funktionellt sätt.

Vad är Rdfind -verktygetRdfind är ett kommandoradsverktyg som har utvecklats för att upptäcka dubblettfiler i katalogen. Dess användning kan tillämpas för att komprimera reservkataloger eller för att hitta dubbletter av filer på ett enkelt sätt, det här verktyget jämför filer baserat på deras innehåll, men inte på deras filnamn eftersom det är baserat på kontrollsumman. Rdfind använder en algoritm för att klassificera filerna och därmed upptäcka vilket av dubletterna som är originalet och därmed betrakta resten som dubbletter. Reglerna för användning av Rdfind är:

  • Om A hittades när ett inmatningsargument skannades före B rankas A högre.
  • Om A hittades på ett djup som är mindre än B, rankas A högre.
  • Om A hittades före B rankas A högre.

Vad är Rdfinds algoritmRdfind, som vi har nämnt, använder följande algoritm där N är antalet filer att söka och ansträngningen som krävs är O (Nlog (N)). Rdfind sorterar filer i inoder innan de läses från hårddisken, så denna process är snabb och läser endast data från hårddisken vid behov. Algoritmen hanterar följande sekvenser:

  • En slinga skapas över varje argument på kommandoraden, varje argument tilldelas ett prioritetsnummer i ökande ordning.
  • För varje argument listas innehållet i katalogen rekursivt och mappas till listan över filer.
  • Rdfind tilldelar ett katalogdjupnummer, som börjar med 0 för varje argument.
  • Om inmatningsargumentet är en fil läggs den till i fillistan.
  • Listan går sedan igenom och storleken på alla filer upptäcks.
  • Om ”-removeidentinode” -flaggan är sann tas elementen i listan som redan har lagts bort, beroende på kombinationen av enhetsnummer och inod.
  • Filer sorteras efter storlek, sedan tas filer bort från listan som har unika storlekar.
  • Den ordnas efter enhet och inod vilket påskyndar läsningen av filer).
  • Filer i listan som har samma storlek, men olika första byte tas bort.
  • Kontrollsumman körs för varje fil.
  • Endast filer i listan med samma storlek och kontrollsumma sparas. Det här är dubbletterna.
  • Listan sorteras efter storlek, prioritetsnummer och djup. Den första filen i varje uppsättning dubbletter anses vara originalet som standard.
  • Om du markerar "-makeresultsfile true" skrivs resultatfilen ut (standard).
  • Om flaggan är "-deleteduplicates true" raderas duplikatfilerna.
  • Om flaggan är "-makesymlinks true" ersätts duplikaten med en symbolisk länk till originalet.
  • Om resultatet är "-makehardlinks true" fortsätter vi att ersätta dubbletterna med en länk till originalet.

1. Hitta dubbletter av filer med Rdfind -verktyget på Linux

Steg 1
För att installera Rdfind i Linux kan vi köra något av följande kommandon:

 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 har laddats ner och installerats kommer vi att köra det i en enkel katalog enligt följande:

 rdfind / home / Solvetic 

Steg 3
Där kan vi se att antalet filer i nämnda katalog upptäcks och det indikerar om dubblettfiler har eliminerats eller inte. Rdfind -verktyget sparar resultaten i en results.txt -fil som ligger i samma katalog där programmet kördes, vi kan se dess innehåll med cat:

 kattresultat.txt 

Steg 4
En extra uppgif.webpt att använda med rdfind är att använda parametern "-dryrun" som ger en lista över dubbletter utan att göra något åt ​​dem:

 rdfind -dryrun true / home / Solvetic 

Steg 5
Om du upptäcker dubbletter är det möjligt att ersätta dem med hårda länkar så här.

 rdfind -makehardlinks true / home / user 
Steg 6
För att eliminera dubbletter måste vi utföra följande:
 rdfind -deleteduplicates true / home / user 
Steg 7
För att komma åt hjälp av Rdfind kommer vi att använda följande kommando:
 man rdfind 

2. Hitta dubbletter av filer med verktyget Fdupes på Linux


Ett annat alternativ som vi har i Linux för att validera dubblettfiler är Fdupes. Det är ett kommandoradsverktyg som låter oss i detalj observera vilka filer vi har dubbletter på systemet. Fdupes är ett program som har utvecklats för att identifiera eller eliminera dubblettfiler som finns i specifika kataloger i Linux, det är öppen källkod och gratis och det är skrivet i C.

Funktioner hos FdupesFdupes använder följande metoder för att bestämma dubblettfiler i kataloger:

  • Jämför partiella md5sum -signaturer.
  • Jämför alla signaturer av md5sum.
  • Byte-för-byte jämförelsekontroll.

När vi använder Fdupes har vi alternativ för användning som:

  • Rekursiv sökning.
  • Uteslut tomma filer.
  • Visa storleken på dubblettfiler.
  • Ta bort dubbletter omedelbart.
  • Uteslut filer med olika ägare.

Steg 1
Som standard är det här verktyget inte installerat, så vi måste ange följande kommando för att installera det. För att installera Fdupes kör vi följande kommando:

 sudo apt installera fdupes 

Steg 2
När vi har laddat ner kan vi köra följande rad för en enkel sökning. Där kommer dubblettfilerna att visas.

 fdupes / sökväg 

Steg 3
För att utföra en rekursiv sökning använder vi följande rad:

 fdupes -r / sökväg 

Steg 4
Det kommer att vara möjligt att ange flera kataloger och ange en katalog för att söka rekursivt enligt följande:

 fdupes -r 
Steg 5
Om vi ​​vill att Fdupes ska beräkna storleken på dubblettfiler använder vi alternativet -S:
 fdupes -S 

Steg 6
För att samla sammanfattande information om de hittade filerna använder vi alternativet -m:

 fdupes -m 

Steg 7
Om du vill ta bort alla dubbletter utför vi följande:

 fdupes -d 
Steg 8
Om vi ​​vill komma åt hjälp av verktyget kör vi:
 fdupes -hjälp 
Steg 9
Några av de allmänna användningsalternativen är:

För varje vald katalog, öppna dess underkataloger

 -r -recurse 

Aktivera rekursiv sökning

 -R -recurse 

Skapa symboliska länkar

 -s -symlänkar 

När två eller flera filer pekar på samma mål behandlas de som icke-dubbletter

 -H -hårdlänkar 

Uteslut filer med noll längd

 -n -nompty 

Uteslut dolda filer

 -En -gömd 

Visa dubblettfilstorlek

 -S -storlek 

Ta bort valda filer

 -d -radera 

Dölj -q -tyst

 -q -tyst 

Välj sorteringsordning för utmatning och radering efter fil

 -o - ***** = BY 

Alternativ för borttagning av loggfil till LOGFIL

 -l --logg = LOGGFIL 

Distribuera Fdupes -versionen

 -v -version 

Visa hjälpmeddelandet

 -h - hjälp 

3. Hitta dubblettfiler med FSlint -verktyget på Linux


En annan som vi ska använda är FSlint, som kommer som standard i de olika Linux -ditroerna som Ubuntu, Debian, Fedora, etc. För att veta mer om FSlint kan vi besöka följande länk:

Steg 1
Vi kan söka efter FSlint från menyn Aktiviteter att använda.

FÖRSTORA

Steg 2
När det väl är öppet är det nödvändigt att vi installerar programmet. För att göra detta, klicka bara på knappen Installera och installationsprocessen för verktyget startar.

FÖRSTORA

Steg 3
När verktyget har installerats fortsätter vi till dess körning och vi kommer att se följande miljö:

Steg 4
För att starta sökprocessen för alla dubblettfiler, tryck på knappen "Sök" längst ner och resultatet kommer att likna detta. Där kan vi välja de filer som inte är nödvändiga och ta bort dem genom att trycka på knappen Radera. FSlint -verktyget kan också användas från terminalen i Ubuntu 16.

Steg 5
Om vi ​​vill installera verktyget från terminalen anger vi kommandot:
sudo apt-get install fslint

Steg 6
När FSlint är installerat anger vi följande kommandon för att använda FSlint. Vi kan se att alla filer som vi har dubbletter i systemet visas.

 cd / usr / share / fslint / fslint (Detta är standardvägen i Ubuntu) ./fslint / Sökväg för att hitta filer

Viktig noteringInget av dessa verktyg raderar dubblettfiler, det visar bara vad de är och vi måste utföra denna uppgif.webpt manuellt.

Vi kan se att vi har två praktiska alternativ för att upptäcka och eliminera dubbletter av filer i Linux -miljöer och därmed bättre hantera utrymmet och filerna som ska användas.

wave wave wave wave wave