4 Uporabna orodja za iskanje in brisanje podvojenih datotek v Linuxu


Organiziranje vašega domačega imenika ali celo sistema je lahko še posebej težko, če imate navado nalagati vse vrste stvari iz interneta.

Pogosto boste morda ugotovili, da ste prenesli iste mp3, pdf, epub (in vse vrste drugih razširitev datotek) in jih kopirali v različne imenike. To lahko povzroči, da bodo vaši imeniki obremenjeni z vsemi vrstami neuporabnih podvojenih stvari.

V tej vadnici se boste naučili, kako poiskati in izbrisati podvojene datoteke v Linuxu z orodji ukazne vrstice rdfind in fdupes, pa tudi z orodji grafičnega vmesnika DupeGuru in FSlint.

Opozorilo - vedno bodite previdni, kaj izbrišete v sistemu, saj lahko to povzroči neželeno izgubo podatkov. Če uporabljate novo orodje, ga najprej poskusite v preskusnem imeniku, kjer brisanje datotek ne bo problem.

1. Rdfind - poišče podvojene datoteke v Linuxu

Rdfind izhaja iz odvečnega iskanja podatkov. Je brezplačno orodje za iskanje podvojenih datotek v več imenikih ali znotraj njih. Uporablja kontrolno vsoto in najde dvojnike na podlagi datoteke, ki ne vsebuje samo imen.

Rdfind uporablja algoritem za razvrščanje datotek in zazna, kateri od dvojnikov je izvirna datoteka, preostale pa obravnava kot podvojene. Pravila razvrščanja so:

  • Če je bil A najden med skeniranjem vhodnega argumenta prej kot B, je A višje uvrščen.
  • Če so A našli na globini, nižji od B, je A višje uvrščen.
  • Če je bil A najden prej kot B, je A višje uvrščen.

Zadnje pravilo se uporablja zlasti, če sta v istem imeniku dve datoteki.

Če želite rdfind namestiti v Linux, uporabite naslednji ukaz glede na distribucijo Linuxa.

$ 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]

Če želite zagnati rdfind v imeniku, preprosto vnesite rdfind in ciljni imenik. Tukaj je primer:

$ rdfind /home/user

Kot lahko vidite, bo rdfind rezultate shranil v datoteko z imenom results.txt, ki se nahaja v istem imeniku, od koder ste zagnali program. Datoteka vsebuje vse podvojene datoteke, ki jih je našel rdfind. Datoteko lahko pregledate in po potrebi odstranite podvojene datoteke.

Druga stvar, ki jo lahko storite, je, da uporabite možnost -dryrun , ki bo zagotovila seznam podvojenih datotek brez kakršnih koli dejanj:

$ rdfind -dryrun true /home/user

Ko najdete dvojnike, jih lahko zamenjate s trdimi povezavami.

$ rdfind -makehardlinks true /home/user

Če želite izbrisati dvojnike, jih lahko zaženete.

$ rdfind -deleteduplicates true /home/user

Če želite preveriti druge uporabne možnosti rdfind, lahko uporabite priročnik rdfind z.

$ man rdfind 

2. Fdupes - poiščite podvojene datoteke v Linuxu

Fdupes je še en program, ki vam omogoča prepoznavanje podvojenih datotek v vašem sistemu. Je brezplačen, odprtokoden in napisan v jeziku C. Za določanje podvojenih datotek uporablja naslednje metode:

  • Primerjava delnih podpisov md5sum
  • Primerjava celotnih podpisov md5sum
  • preverjanje primerjave po bajtah

Tako kot rdfind ima podobne možnosti:

  • Iščite rekurzivno
  • Izključi prazne datoteke
  • Prikaže velikost podvojenih datotek
  • Dvojnike takoj izbrišite
  • Izključite datoteke z drugim lastnikom

Če želite namestiti fdupes v Linux, uporabite naslednji ukaz glede na distribucijo Linuxa.

$ 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]

Sintaksa fdupes je podobna rdfind. Preprosto vnesite ukaz, ki mu sledi imenik, ki ga želite optično prebrati.

$ fdupes <dir>

Za rekurzivno iskanje datotek boste morali podati -r takšno možnost.

$ fdupes -r <dir>

Določite lahko tudi več imenikov in dirko, ki jo želite iskati rekurzivno.

$ fdupes <dir1> -r <dir2>

Če želite, da fdupes izračuna velikost podvojenih datotek, uporabite možnost -S .

$ fdupes -S <dir>

Za zbiranje povzetih informacij o najdenih datotekah uporabite možnost -m .

$ fdupes -m <dir>

Nazadnje, če želite izbrisati vse podvojene podatke, uporabite -d to možnost.

$ fdupes -d <dir>

Fdupes bo vprašal, katero od najdenih datotek naj izbriše. Vnesti morate številko datoteke:

Rešitev, ki je vsekakor ni priporočljiva, je uporaba možnosti -N , ki bo ohranila samo prvo datoteko.

$ fdupes -dN <dir>

Če si želite ogledati seznam razpoložljivih možnosti za uporabo s fdupes, preglejte stran s pomočjo tako, da zaženete.

$ fdupes -help

3. dupeGuru - Poiščite podvojene datoteke v Linuxu

dupeGuru je odprtokodno orodje in orodje za več platform, ki ga lahko uporabite za iskanje podvojenih datotek v sistemu Linux. Orodje lahko skenira imena datotek ali vsebino v eni ali več mapah. Omogoča tudi iskanje imena datoteke, ki je podobno datotekam, ki jih iščete.

dupeGuru je na voljo v različnih različicah za platforme Windows, Mac in Linux. Njegova funkcija hitrega nejasnega ujemanja vam pomaga najti podvojene datoteke v minuti. Prilagodljiv je, potegnete lahko natančno podvojene datoteke in izbrišete neželene datoteke iz sistema.

Če želite namestiti dupeGuru v Linux, uporabite naslednji ukaz glede na distribucijo Linuxa.

--------------- 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 - Iskalnik podvojenih datotek za Linux

FSlint je brezplačen pripomoček, ki se uporablja za iskanje in čiščenje različnih oblik vlaken v datotečnem sistemu. Poroča tudi o podvojenih datotekah, praznih imenikih, začasnih datotekah, podvojenih/nasprotujočih (binarnih) imenih, slabih simboličnih povezavah in še veliko več. Ima tako načine ukazne vrstice kot grafični vmesnik.

Če želite namestiti FSlint v Linux, uporabite naslednji ukaz glede na distribucijo Linuxa.

$ 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]

To so zelo uporabna orodja za iskanje podvojenih datotek v sistemu Linux, vendar morate biti pri brisanju takšnih datotek zelo previdni.

Če niste prepričani, ali potrebujete datoteko ali ne, bi bilo bolje, da pred brisanjem ustvarite varnostno kopijo te datoteke in si zapomnite njen imenik. Če imate kakršna koli vprašanja ali pripombe, jih pošljite v spodnji razdelek za komentarje.