4 Nyttige verktøy for å finne og slette dupliserte filer i Linux


Å organisere hjemmekatalogen eller til og med systemet kan være spesielt vanskelig hvis du har for vane å laste ned alle slags ting fra internett.

Ofte kan du finne at du har lastet ned den samme mp3, pdf, epub (og alle slags andre filutvidelser) og kopiert den til forskjellige kataloger. Dette kan føre til at katalogene dine blir rotete med alle slags ubrukelige dupliserte ting.

I denne opplæringen skal du lære hvordan du finner og sletter dupliserte filer i Linux ved å bruke rdfind og fdupes kommandolinjeverktøy, i tillegg til å bruke GUI-verktøy kalt DupeGuru og FSlint.

En advarsel - vær alltid forsiktig med hva du sletter på systemet ditt, da dette kan føre til uønsket tap av data. Hvis du bruker et nytt verktøy, prøv det først i en testkatalog der sletting av filer ikke vil være noe problem.

1. Rdfind – Finner dupliserte filer i Linux

Rdfind kommer fra redundant datafinn. Det er et gratis verktøy som brukes til å finne dupliserte filer på tvers av eller innenfor flere kataloger. Den bruker kontrollsum og finner duplikater basert på filen inneholder ikke bare navn.

Rdfind bruker en algoritme for å klassifisere filene og oppdager hvilke av duplikatene som er originalfilen og betrakter resten som duplikater. Reglene for rangering er:

  • Hvis A ble funnet under skanning av et input-argument tidligere enn B, er A høyere rangert.
  • Hvis A ble funnet på en dybde lavere enn B, er A høyere rangert.
  • Hvis A ble funnet tidligere enn B, er A høyere rangert.

Den siste regelen brukes spesielt når to filer er funnet i samme katalog.

For å installere rdfind i Linux, bruk følgende kommando i henhold til din Linux-distribusjon.

$ sudo apt-get install rdfind     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install rdfind    [On CentOS/RHEL]
$ sudo dnf install rdfind         [On Fedora 22+]
$ sudo pacman -S rdfind   [On Arch Linux]

For å kjøre rdfind på en katalog, skriv ganske enkelt rdfind og målkatalogen. Her er et eksempel:

$ rdfind /home/user

Som du kan se vil rdfind lagre resultatene i en fil som heter results.txt som ligger i samme katalog der du kjørte programmet. Filen inneholder alle duplikatfilene som rdfind har funnet. Du kan se gjennom filen og fjerne de dupliserte filene manuelt hvis du vil.

En annen ting du kan gjøre er å bruke -dryrun et alternativ som vil gi en liste over duplikater uten å gjøre noen handlinger:

$ rdfind -dryrun true /home/user

Når du finner duplikatene, kan du velge å erstatte dem med harde lenker.

$ rdfind -makehardlinks true /home/user

Og hvis du ønsker å slette duplikatene kan du kjøre.

$ rdfind -deleteduplicates true /home/user

For å sjekke andre nyttige alternativer for rdfind kan du bruke rdfind-manualen med.

$ man rdfind 

2. Fdupes – Skann etter dupliserte filer i Linux

Fdupes er et annet program som lar deg identifisere dupliserte filer på systemet ditt. Den er gratis og åpen kildekode og skrevet i C. Den bruker følgende metoder for å finne dupliserte filer:

  • Sammenligning av delvise md5sum-signaturer
  • Sammenligning av fullstendige md5sum-signaturer
  • byte-for-byte sammenligningsbekreftelse

Akkurat som rdfind har den lignende alternativer:

  • Søk rekursivt
  • Ekskluder tomme filer
  • Viser størrelsen på dupliserte filer
  • Slett duplikater umiddelbart
  • Ekskluder filer med en annen eier

For å installere fdupes i Linux, bruk følgende kommando i henhold til din Linux-distribusjon.

$ sudo apt-get install fdupes     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install fdupes    [On CentOS/RHEL]
$ sudo dnf install fdupes         [On Fedora 22+]
$ sudo pacman -S fdupes   [On Arch Linux]

Fdupes-syntaksen ligner på rdfind. Bare skriv inn kommandoen etterfulgt av katalogen du ønsker å skanne.

$ fdupes <dir>

For å søke i filer rekursivt, må du spesifisere -r et alternativ som dette.

$ fdupes -r <dir>

Du kan også spesifisere flere kataloger og spesifisere en dir som skal søkes rekursivt.

$ fdupes <dir1> -r <dir2>

For å få fdupes til å beregne størrelsen på de dupliserte filene, bruk -S-alternativet.

$ fdupes -S <dir>

For å samle oppsummert informasjon om filene som ble funnet, bruk -m-alternativet.

$ fdupes -m <dir>

Til slutt, hvis du ønsker å slette alle duplikater, bruk -d et alternativ som dette.

$ fdupes -d <dir>

Fdupes vil spørre hvilken av filene som skal slettes. Du må oppgi filnummeret:

En løsning som definitivt ikke anbefales er å bruke -N-alternativet som vil resultere i å bevare kun den første filen.

$ fdupes -dN <dir>

For å få en liste over tilgjengelige alternativer for bruk med fdupes, gå gjennom hjelpesiden ved å kjøre.

$ fdupes -help

3. dupeGuru – Finn dupliserte filer i en Linux

dupeGuru er et verktøy med åpen kildekode og plattformer som kan brukes til å finne dupliserte filer i et Linux-system. Verktøyet kan enten skanne filnavn eller innhold i én eller flere mapper. Den lar deg også finne filnavnet som ligner på filene du søker etter.

dupeGuru kommer i forskjellige versjoner for Windows, Mac og Linux-plattformer. Dens raske fuzzy matching algoritme-funksjon hjelper deg å finne dupliserte filer i løpet av et minutt. Det kan tilpasses, du kan trekke ut de nøyaktige dupliserte filene du vil, og slette uønskede filer fra systemet.

For å installere dupeGuru i Linux, bruk følgende kommando i henhold til din Linux-distribusjon.

--------------- On Debian/Ubuntu/Mint --------------- 
$ sudo add-apt-repository ppa:dupeguru/ppa
$ sudo apt-get update
$ sudo apt-get install dupeguru
--------------- On Arch Linux --------------- 
$ sudo pacman -S dupeguru

4. FSlint – Duplicate File Finder for Linux

FSlint er et gratis verktøy som brukes til å finne og rense ulike former for lo på et filsystem. Den rapporterer også dupliserte filer, tomme kataloger, midlertidige filer, dupliserte/konfliktende (binære) navn, dårlige symbolske lenker og mange flere. Den har både kommandolinje- og GUI-modus.

For å installere FSlint i Linux, bruk følgende kommando i henhold til din Linux-distribusjon.

$ sudo apt-get install fslint     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install fslint    [On CentOS/RHEL]
$ sudo dnf install fslint         [On Fedora 22+]
$ sudo pacman -S fslint   [On Arch Linux]

Dette er de veldig nyttige verktøyene for å finne dupliserte filer på Linux-systemet ditt, men du bør være veldig forsiktig når du sletter slike filer.

Hvis du er usikker på om du trenger en fil eller ikke, ville det være bedre å lage en sikkerhetskopi av den filen og huske katalogen før du sletter den. Hvis du har spørsmål eller kommentarer, vennligst send dem i kommentarfeltet nedenfor.