4 Nyttige værktøjer til at finde og slette duplikatfiler i Linux


At organisere dit hjemmekatalog eller endda systemet kan være særligt hårdt, hvis du har for vane at downloade alle mulige ting fra internettet.

Ofte kan du opleve, at du har downloadet den samme mp3, pdf, epub (og alle slags andre filtypenavne) og kopieret den til forskellige biblioteker. Dette kan få dine mapper til at blive rodet med alle slags unyttige duplikerede ting.

I denne vejledning skal du lære at finde og slette duplikatfiler i Linux ved hjælp af rdfind og fdupes kommandolinjeværktøjer samt brug af GUI-værktøjer kaldet DupeGuru og FSlint.

En advarsel - vær altid forsigtig med, hvad du sletter på dit system, da dette kan føre til uønsket datatab. Hvis du bruger et nyt værktøj, skal du først prøve det i en testkatalog, hvor sletning af filer ikke vil være et problem.

1. Rdfind - Find duplikatfiler i Linux

Rdfind kommer fra overflødige datafind. Det er et gratis værktøj, der bruges til at finde duplikatfiler på tværs af eller i flere mapper. Det bruger kontrolsum og finder duplikater baseret på fil indeholder ikke kun navne.

Rdfind bruger en algoritme til at klassificere filerne og registrerer, hvilken af duplikaterne, der er den originale fil, og betragter resten som duplikater. Reglerne for rangordning er:

  • Hvis A blev fundet under scanning af et inputargument tidligere end B, er A højere placeret.
  • Hvis A blev fundet i en dybde lavere end B, er A højere placeret.
  • Hvis A blev fundet tidligere end B, er A højere placeret.

Den sidste regel bruges især når to filer findes i samme bibliotek.

For at installere rdfind i Linux skal du bruge følgende kommando i henhold til din Linux-distribution.

$ 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 at køre rdfind i et bibliotek skal du blot skrive rdfind og målmappen. Her er et eksempel:

$ rdfind /home/user

Som du kan se, gemmer rdfind resultaterne i en fil kaldet results.txt i samme bibliotek, hvorfra du kørte programmet. Filen indeholder alle de duplikatfiler, som rdfind har fundet. Du kan gennemse filen og fjerne de duplikerede filer manuelt, hvis du vil.

En anden ting, du kan gøre, er at bruge -dryrun en mulighed, der giver en liste over dubletter uden at tage nogen handlinger:

$ rdfind -dryrun true /home/user

Når du finder duplikaterne, kan du vælge at erstatte dem med hårde links.

$ rdfind -makehardlinks true /home/user

Og hvis du ønsker at slette duplikaterne, kan du køre.

$ rdfind -deleteduplicates true /home/user

For at kontrollere andre nyttige muligheder for rdfind kan du bruge rdfind manualen med.

$ man rdfind 

2. Fdupes - Scan efter duplikatfiler i Linux

Fdupes er et andet program, der giver dig mulighed for at identificere duplikatfiler på dit system. Det er gratis og open source og skrevet i C. Det bruger følgende metoder til at bestemme duplikatfiler:

  • Sammenligning af delvise md5sum-signaturer
  • Sammenligning af fuld md5sum-underskrifter
  • verifikation af sammenligning af byte-for-byte

Ligesom rdfind har den lignende muligheder:

  • Søg rekursivt
  • Ekskluder tomme filer
  • Viser størrelse på duplikatfiler
  • Slet duplikater straks
  • Ekskluder filer med en anden ejer

For at installere fdupes i Linux skal du bruge følgende kommando i henhold til din Linux-distribution.

$ 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 syntaks ligner rdfind. Skriv blot kommandoen efterfulgt af det bibliotek, du vil scanne.

$ fdupes <dir>

For at søge filer rekursivt, skal du angive -r en mulighed som denne.

$ fdupes -r <dir>

Du kan også angive flere mapper og angive en dir, der skal søges rekursivt.

$ fdupes <dir1> -r <dir2>

For at få fdupes til at beregne størrelsen på de duplikerede filer skal du bruge indstillingen -S .

$ fdupes -S <dir>

Brug indstillingen -m til at samle opsummerede oplysninger om de fundne filer.

$ fdupes -m <dir>

Endelig, hvis du vil slette alle dubletter, skal du bruge -d en mulighed som denne.

$ fdupes -d <dir>

Fdupes spørger, hvilke af de fundne filer, der skal slettes. Du skal indtaste filnummeret:

En løsning, der bestemt ikke anbefales, er at bruge indstillingen -N , som kun resulterer i at bevare den første fil.

$ fdupes -dN <dir>

For at få en liste over tilgængelige muligheder, der kan bruges med fdupes, skal du gennemse hjælpesiden ved at køre.

$ fdupes -help

3. dupeGuru - Find duplikatfiler i en Linux

dupeGuru er et open source- og platformoverskridende værktøj, der kan bruges til at finde duplikatfiler i et Linux-system. Værktøjet kan enten scanne filnavne eller indhold i en eller flere mapper. Det giver dig også mulighed for at finde det filnavn, der ligner de filer, du søger efter.

dupeGuru findes i forskellige versioner til Windows-, Mac- og Linux-platforme. Dens hurtige fuzzy matchende algoritmefunktion hjælper dig med at finde duplikatfiler inden for et minut. Det kan tilpasses, du kan trække de nøjagtige duplikatfiler, du vil, og slette uønskede filer fra systemet.

For at installere dupeGuru i Linux skal du bruge følgende kommando i henhold til din Linux-distribution.

--------------- 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 til Linux

FSlint er et gratis værktøj, der bruges til at finde og rense forskellige former for fnug på et filsystem. Det rapporterer også duplikatfiler, tomme mapper, midlertidige filer, duplikat/modstridende (binære) navne, dårlige symbolske links og mange flere. Det har både kommandolinje- og GUI-tilstande.

For at installere FSlint i Linux skal du bruge følgende kommando i henhold til din Linux-distribution.

$ 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 meget nyttige værktøjer til at finde duplikerede filer på dit Linux-system, men du skal være meget forsigtig, når du sletter sådanne filer.

Hvis du er usikker på, om du har brug for en fil eller ej, ville det være bedre at oprette en sikkerhedskopi af den fil og huske dens mappe, før du sletter den. Hvis du har spørgsmål eller kommentarer, bedes du sende dem i kommentarfeltet nedenfor.