Svakodnevno preuzimamo, stvaramo i uređujemo različite vrste datoteka u našem operativnom sustavu, u ovom konkretnom slučaju govorimo o Linuxu, a jedan od uobičajenih grešaka je što često možemo imati nekoliko dupliciranih datoteka koje, ne samo da zauzimaju dodatni prostora na tvrdom disku, ali može postati zbunjujući faktor pri otvaranju i uređivanju datoteka.
U mnogim prilikama imamo na stolnim računalima ili poslužiteljima razne datoteke, bez obzira na njihov format, duplikate, a mi to ne znamo. To generira nepotrebno zauzimanje prostora i mogućnost rada s pogrešnom datotekom jer jednu možemo urediti, a zatim otvoriti drugu itd. Praktičan način za bolje organiziranje našeg radnog okruženja je otkrivanje i uklanjanje ovih dupliciranih datoteka tako da je na taj način moguće koristiti jednu datoteku.
Ovaj je zadatak vrijedan izvršiti ne samo kako bismo mogli izbrisati duplikate, već i izvršiti pretraživanja gdje možemo ukloniti i izbrisati datoteke koje više ne želimo, ali koje su ponavljali različiti dijelovi operacijskog sustava Linux. Bez obzira na verziju kakva može biti u Fedora, Ubuntu, Debian, CentOS među mnogim drugima.
Već smo u svoje vrijeme vidjeli kako pronaći duple datoteke u sustavu Windows, ovdje se usredotočujemo na Linux okruženja, gdje imamo alate i na grafičkoj razini i u naredbenom retku, koji će nam pomoći pronaći te datoteke i ukloniti one za koje smatramo da su nije korisno.
Solvetic će objasniti kako na jednostavan, ali funkcionalan način otkriti i ukloniti duple datoteke u Linuxu.
Što je uslužni program RdfindRdfind je alat za naredbeni redak koji je razvijen za otkrivanje dupliciranih datoteka u direktoriju. Njegova se upotreba može primijeniti za komprimiranje direktorija sigurnosnih kopija ili za pronalaženje dupliciranih datoteka na jednostavan način. Ovaj uslužni program uspoređuje datoteke na temelju njihovog sadržaja, ali ne i na osnovu naziva datoteka jer se temelji na kontrolnom iznosu. Rdfind koristi algoritam kako bi klasificirao datoteke i na taj način otkrio koji je od duplikata izvornik, pa stoga ostale smatra duplikatima. Pravila za korištenje Rdfind su:
- Ako je A pronađen tijekom skeniranja ulaznog argumenta prije B, A je rangiran više.
- Ako je A pronađen na dubini manjoj od B, A je rangiran više.
- Ako je A pronađeno prije B, A je rangirano više.
Što je Rdfindov algoritamRdfind, kao što smo spomenuli, koristi sljedeći algoritam gdje je N broj datoteka za pretraživanje, a potreban napor je O (Nlog (N)). Rdfind sortira datoteke u inode prije čitanja s diska, pa je ovaj proces brz i čita podatke s diska samo kada je to potrebno. Algoritam upravlja sljedećim nizovima:
- Petlja se stvara nad svakim argumentom u naredbenom retku, svakom argumentu dodjeljuje se broj prioriteta, po rastućem redoslijedu.
- Za svaki argument, sadržaj direktorija je naveden rekurzivno i preslikan na popis datoteka.
- Rdfind dodjeljuje broj dubine direktorija, počevši od 0 za svaki argument.
- Ako je ulazni argument datoteka, bit će dodan na popis datoteka.
- Potom se prolazi popisom i otkrivaju se veličine svih datoteka.
- Ako je zastavica "-removeidentinode" istinita, elementi popisa koji su već dodani uklanjaju se, u skladu s kombinacijom broja uređaja i inode.
- Datoteke se sortiraju prema veličini, a zatim se datoteke uklanjaju s popisa koje imaju jedinstvene veličine.
- Uređen je prema uređaju i inodeu koji ubrzava čitanje datoteka).
- Datoteke na popisu iste su veličine, ali različitih prvih bajtova uklanjaju se.
- Kontrolni zbroj izvodi se za svaku datoteku.
- Čuvaju se samo datoteke s popisa iste veličine i kontrolne sume. Ovo su duplikati.
- Popis je razvrstan prema veličini, broju prioriteta i dubini. Prva datoteka u svakom skupu duplikata prema zadanim se postavkama smatra izvornikom.
- Ako označite "-makeresultsfile true", datoteka rezultata će se ispisati (zadano).
- Ako je zastavica "-deleteduplicates true", duplicirane datoteke bit će izbrisane.
- Ako je zastavica "-makesymlinks true", duplikati se zamjenjuju simboličkom vezom na izvornik.
- Ako je rezultat "-makehardlinks true", nastavljamo zamjenu duplikata s vezom na izvornik.
1. Pronađite duple datoteke pomoću Rdfind uslužnog programa na Linuxu
Korak 1
Za instaliranje Rdfind u Linux možemo izvršiti bilo koju od sljedećih naredbi:
sudo apt install rdfind (Debian / Ubuntu / Mint) sudo yum install epel-release && $ sudo yum install rdfind (CentOS / RHEL) sudo dnf install rdfind (Fedora)
Korak 2
Nakon što se Rdfind preuzme i instalira, pokrenut ćemo ga u jednostavnom direktoriju na sljedeći način:
rdfind / home / Solvetic
Korak 3
Tamo možemo vidjeti da je otkriven broj datoteka u navedenom direktoriju i pokazuje jesu li duplicirane datoteke uklonjene. Pomoćni program Rdfind spremit će rezultate u datoteku results.txt koja se nalazi u istom direktoriju iz kojeg je program pokrenut, a njezin sadržaj možemo vidjeti pomoću cat:
cat results.txt
Korak 4
Dodatni zadatak koji ćete koristiti s rdfindom je korištenje parametra "-dryrun" koji će pružiti popis duplikata bez poduzimanja bilo kakvih radnji na njima:
rdfind -dryrun true / home / Solvetic
Korak 5
U slučaju otkrivanja duplikata, moguće ih je zamijeniti ovakvim tvrdim vezama.
rdfind -makehardlinks true / home / userKorak 6
Da bismo uklonili duplikate, moramo izvršiti sljedeće:
rdfind -deleteduplicates true / home / userKorak 7
Za pristup pomoći Rdfind -a upotrijebit ćemo sljedeću naredbu:
čovjek rdfind
2. Pronađite duplicirane datoteke pomoću uslužnog programa Fdupes na Linuxu
Druga mogućnost koju imamo u Linuxu za provjeru valjanosti dupliciranih datoteka je Fdupes. To je alat naredbenog retka koji nam omogućuje detaljno promatranje koje datoteke imamo duplikate u sustavu. Fdupes je program koji je razvijen za identifikaciju ili uklanjanje dupliciranih datoteka smještenih u određenim direktorijima u Linuxu, otvoren je izvor i besplatan je, a napisan je na jeziku C.
Značajke FdupesFdupes koristi sljedeće metode za određivanje dupliciranih datoteka u direktorijima:
- Usporedba djelomičnih potpisa md5sum.
- Usporedba svih potpisa md5sum.
- Provjera usporedbe byte by byte.
Kad koristimo Fdupes, imat ćemo mogućnosti korištenja kao što su:
- Rekurzivno pretraživanje.
- Izuzmite prazne datoteke.
- Prikažite veličinu dupliciranih datoteka.
- Odmah uklonite duplikate.
- Izuzmite datoteke s različitim vlasnicima.
Korak 1
Prema zadanim postavkama ovaj alat nije instaliran pa moramo unijeti sljedeću naredbu da bismo ga instalirali. Da bismo instalirali Fdupes, izvršit ćemo sljedeću naredbu:
sudo apt instalirajte fdupes
Korak 2
Nakon preuzimanja možemo pokrenuti sljedeći redak za jednostavno pretraživanje. Tamo će se prikazati duplicirane datoteke.
fdupes / put za pretraživanje
Korak 3
Za izvršavanje rekurzivnog pretraživanja upotrijebit ćemo sljedeći redak:
fdupes -r / put za pretraživanje
Korak 4
Bit će moguće odrediti nekoliko direktorija i odrediti direktorij za rekurzivno pretraživanje na sljedeći način:
fdupes -rKorak 5
Ako želimo da Fdupes izračuna veličinu dupliciranih datoteka, koristit ćemo opciju -S:
fdupes -S
Korak 6
Za prikupljanje sažetih podataka o pronađenim datotekama koristit ćemo opciju -m:
fdupes -m
Korak 7
U slučaju da želite izbrisati sve duplikate, izvršit ćemo sljedeće:
fdupes -dKorak 8
Ako želimo pristupiti pomoći uslužnog programa koji izvršavamo:
fdupes -pomoćKorak 9
Neke od općih opcija korištenja su:
Za svaki odabrani direktorij pristupite njegovim poddirektorijima
-r -ponoviti
Aktivirajte rekurzivno pretraživanje
-R -ponavljanje
Stvorite simbolične veze
-s -simlinkovi
Kada dvije ili više datoteka upućuju na isti cilj, tretiraju se kao nedvosmislene
-H -vezice
Izuzmite datoteke nulte duljine
-n -neprazan
Izuzmite skrivene datoteke
-A -ne skriveno
Prikaži dupliciranu veličinu datoteke
-S -veličina
Izbrišite odabrane datoteke
-d -brisati
Sakrij -q -tiho
-q -tiho
Odaberite redoslijed sortiranja za ispis i brisanje po datoteci
-o - ***** = BY
Zabilježite opcije brisanja datoteke u LOGFILE
-l --log = LOGFILE
Implementirajte verziju Fdupes
-v -verzija
Prikažite poruku pomoći
-h - pomoć
3. Pronađite duple datoteke pomoću uslužnog programa FSlint na Linuxu
Još jedno što ćemo koristiti je FSlint, koji prema zadanim postavkama dolazi u različitim Linux ditrosima kao što su Ubuntu, Debian, Fedora itd. Da bismo saznali više o FSlintu, možemo posjetiti sljedeću vezu:
Korak 1
Možemo tražiti FSlint iz izbornika Aktivnosti za upotrebu.
POVEĆAJTE
Korak 2
Nakon otvaranja potrebno je instalirati aplikaciju, da biste to učinili, samo kliknite gumb Instaliraj i proces instalacije uslužnog programa će započeti.
POVEĆAJTE
Korak 3
Nakon što je alat instaliran, nastavljamo s njegovim izvršavanjem i vidjet ćemo sljedeće okruženje:
Korak 4
Da biste započeli proces pretraživanja svih dupliciranih datoteka, pritisnite gumb "Traži" koji se nalazi pri dnu i rezultat će biti sličan ovome. Tamo možemo odabrati one datoteke koje nisu potrebne i izbrisati ih pritiskom na gumb Izbriši. Alat FSlint također se može koristiti s terminala u Ubuntu 16.
Korak 5
Ako želimo instalirati alat s terminala, unijet ćemo naredbu:
sudo apt-get install fslint
Korak 6
Nakon instaliranja FSlinta unijet ćemo sljedeće naredbe za korištenje FSlinta. Možemo vidjeti da se prikazuju sve datoteke koje imamo duplikate u sustavu.
cd / usr / share / fslint / fslint (Ovo je zadani put u Ubuntuu) ./fslint / Put za pronalaženje datoteka
Važna notaNiti jedan od ovih alata ne briše duplicirane datoteke, samo nam pokazuje što su to i moramo ručno obaviti ovaj zadatak.
Vidimo da imamo dvije praktične mogućnosti za otkrivanje i uklanjanje dupliciranih datoteka u Linux okruženjima i na taj način bolje upravljamo prostorom i datotekama za korištenje.