Jak najít a odstranit duplicitní soubory v Linuxu

Každý den stahujeme, vytváříme a upravujeme různé typy souborů v našem operačním systému, v tomto konkrétním případě mluvíme o Linuxu, a jedním z běžných selhání je, že často můžeme mít několik duplicitních souborů, které nejen zabírají další místo na pevném disku, ale může se stát matoucím faktorem při otevírání a úpravách souborů.

Při mnoha příležitostech máme na svých počítačích nebo serverech různé soubory, bez ohledu na jejich formát, duplikáty a my to nevíme. To generuje zbytečné zabírání místa a možnost pracovat se špatným souborem, protože jeden můžeme upravit a druhý otevřít atd. Praktický způsob, jak lépe organizovat naše pracovní prostředí, je detekovat a eliminovat tyto duplicitní soubory, takže tímto způsobem je možné použít jeden jediný soubor.

Stojí za to provést tento úkol nejen proto, abychom mohli vymazat duplikáty, ale také provádět vyhledávání, kde můžeme odstranit a odstranit soubory, které již nechceme, ale které opakovaly různé části operačního systému Linux. Bez ohledu na verzi, jaká může být ve Fedoře, Ubuntu, Debianu, CentOS a mnoha dalších.

Už jsme viděli ve své době, jak najít duplicitní soubory ve Windows, zde se zaměřujeme na prostředí Linuxu, kde máme nástroje jak na grafické úrovni, tak na příkazovém řádku, které nám pomohou tyto soubory najít a odstranit ty, které považujeme za neužitečný.

Solvetic vysvětlí, jak jednoduchým a funkčním způsobem detekovat a eliminovat duplicitní soubory v Linuxu.

Co je to nástroj RdfindRdfind je nástroj příkazového řádku, který byl vyvinut k detekci duplicitních souborů v adresáři. Tento nástroj lze použít ke kompresi záložních adresářů nebo k jednoduchému hledání duplicitních souborů. Tento nástroj porovnává soubory na základě jejich obsahu, ale ne na základě názvů souborů, protože je založen na kontrolním součtu. Rdfind využívá algoritmus ke klasifikaci souborů, a tak zjišťuje, který z duplikátů je originál, a zbytek tedy považuje za duplikáty. Pravidla pro používání Rdfind jsou:

  • Pokud byla při skenování zadávacího argumentu před B nalezena A, je A umístěna výše.
  • Pokud byl A nalezen v hloubce menší než B, je A o něco výše.
  • Pokud bylo A nalezeno před B, A je o něco výše.

Co je Rdfindův algoritmusRdfind, jak jsme zmínili, využívá následující algoritmus, kde N je počet souborů, které je třeba prohledat, a požadované úsilí je O (Nlog (N)). Rdfind třídí soubory do inodů před čtením z disku, takže tento proces je rychlý a čte data z disku pouze v případě potřeby. Algoritmus spravuje následující sekvence:

  • Nad každým argumentem na příkazovém řádku je vytvořena smyčka, každému argumentu je přiřazeno číslo priority ve vzestupném pořadí.
  • U každého argumentu je obsah adresáře uveden rekurzivně a mapován do seznamu souborů.
  • Rdfind přiřadí číslo hloubky adresáře, počínaje 0 pro každý argument.
  • Pokud je vstupním argumentem soubor, bude přidán do seznamu souborů.
  • Seznam se poté prochází a zjistí se velikosti všech souborů.
  • Pokud je příznak „-removeidentinode“ pravdivý, prvky seznamu, které již byly přidány, budou odstraněny podle kombinace čísla zařízení a inodu.
  • Soubory jsou seřazeny podle velikosti a poté jsou ze seznamu odstraněny soubory, které mají jedinečné velikosti.
  • Je seřazeno podle zařízení a inode, což zrychluje čtení souborů).
  • Soubory v seznamu, které mají stejnou velikost, ale různé první bajty, budou odstraněny.
  • Kontrolní součet se spouští pro každý soubor.
  • Zachovány jsou pouze soubory v seznamu se stejnou velikostí a kontrolním součtem. Toto jsou duplikáty.
  • Seznam je seřazen podle velikosti, čísla priority a hloubky. První soubor v každé sadě duplikátů je ve výchozím nastavení považován za původní.
  • Pokud zaškrtnete „-makeresultsfile true“, vytiskne se soubor s výsledky (výchozí).
  • Pokud je příznak „-deleteduplicates true“, budou duplicitní soubory odstraněny.
  • Pokud je příznak „-makesymlinks true“, duplikáty budou nahrazeny symbolickým odkazem na originál.
  • Pokud je výsledkem „-makehardlinks true“, přistoupíme k nahrazení duplikátů odkazem na originál.

1. Najděte duplicitní soubory pomocí nástroje Rdfind v systému Linux

Krok 1
Chcete -li nainstalovat Rdfind v Linuxu, můžeme spustit libovolný z následujících příkazů:

 sudo apt install rdfind (Debian / Ubuntu / Mint) sudo yum install epel-release && $ sudo yum install rdfind (CentOS / RHEL) sudo dnf install rdfind (Fedora) 

Krok 2
Jakmile je Rdfind stažen a nainstalován, spustíme jej v jednoduchém adresáři následujícím způsobem:

 rdfind / home / Solvetic 

Krok 3
Zde vidíme, že je detekován počet souborů v uvedeném adresáři a indikuje, zda byly odstraněny duplicitní soubory. Obslužný program Rdfind uloží výsledky do souboru results.txt umístěného ve stejném adresáři, odkud byl program spuštěn, jeho obsah vidíme pomocí cat:

 cat results.txt 

Krok 4
Dalším úkolem, který lze použít s rdfind, je použití parametru „-dryrun“, který poskytne seznam duplikátů, aniž by na nich bylo nutné provést jakoukoli akci:

 rdfind -dryrun true / home / Solvetic 

Krok 5
V případě detekce duplikátů je možné je nahradit pevnými odkazy, jako je tento.

 rdfind -makehardlinks true / home / user 
Krok 6
Abychom odstranili duplikáty, musíme provést následující:
 rdfind -deleteduplikuje true / home / user 
Krok 7
Pro přístup k nápovědě Rdfind použijeme následující příkaz:
 muž rdfind 

2. Najděte duplicitní soubory pomocí nástroje Fdupes v systému Linux


Další možností, kterou v Linuxu máme k ověření duplicitních souborů, je Fdupes. Je to nástroj příkazového řádku, který nám umožňuje detailně sledovat, které soubory máme v systému duplikáty. Fdupes je program, který byl vyvinut k identifikaci nebo odstranění duplicitních souborů uložených v konkrétních adresářích v Linuxu, je open source a zdarma a je napsán v jazyce C.

Vlastnosti FdupesFdupes používá k určení duplicitních souborů v adresářích následující metody:

  • Porovnání částečných podpisů md5sum.
  • Porovnání všech podpisů md5sum.
  • Kontrola porovnání bajtů po bajtech.

Při používání Fdupes budeme mít možnosti použití, jako například:

  • Rekurzivní vyhledávání.
  • Vyloučit prázdné soubory.
  • Zobrazit velikost duplicitních souborů.
  • Duplikáty okamžitě odeberte.
  • Vyloučit soubory s různými vlastníky.

Krok 1
Ve výchozím nastavení není tento nástroj nainstalován, takže k jeho instalaci musíme zadat následující příkaz. Chcete -li nainstalovat Fdupes, spustíme následující příkaz:

 sudo apt install fdupes 

Krok 2
Po stažení můžeme spustit následující řádek pro jednoduché vyhledávání. Zde se zobrazí duplicitní soubory.

 fdupes / cesta k hledání 

Krok 3
K provedení rekurzivního vyhledávání použijeme následující řádek:

 fdupes -r / cesta k hledání 

Krok 4
Bude možné zadat několik adresářů a určit adresář pro rekurzivní vyhledávání následujícím způsobem:

 fdupes -r 
Krok 5
Pokud chceme, aby Fdupes vypočítal velikost duplicitních souborů, použijeme volbu -S:
 fdupes -S 

Krok 6
Ke shromažďování souhrnných informací o nalezených souborech použijeme volbu -m:

 fdupes -m 

Krok 7
V případě, že chcete odstranit všechny duplikáty, provedeme následující:

 fdupes -d 
Krok 8
Pokud chceme získat přístup k nápovědě nástroje, spustíme:
 fdupes -pomoc 
Krok 9
Některé z obecných možností použití jsou:

Pro každý vybraný adresář přejděte do jeho podadresářů

 -r -rekurz 

Aktivujte rekurzivní vyhledávání

 -R -oprava 

Vytvářejte symbolické odkazy

 -s -symlinks 

Když dva nebo více souborů ukazuje na stejný cíl, jsou považovány za neduplikáty

 -H -tvrdé odkazy 

Vyloučit soubory nulové délky

 -n -prázdno 

Vyloučit skryté soubory

 -A -skrytý 

Zobrazit velikost duplicitního souboru

 -S -velikost 

Odstranit vybrané soubory

 -d -odstranit 

Skrýt -q -tichý

 -q -tichý 

Vyberte pořadí řazení pro výstup a odstranění podle souboru

 -o - ***** = BY 

Možnosti odstranění souboru protokolu do LOGFILE

 -l --log = LOGFILE 

Nasadit verzi Fdupes

 -v -verze 

Zobrazte zprávu nápovědy

 -h - pomoc 

3. Najděte duplicitní soubory pomocí nástroje FSlint v systému Linux


Další, kterou budeme používat, je FSlint, který je standardně dodáván v různých linuxových ditros, jako je Ubuntu, Debian, Fedora atd. Chcete -li vědět více o FSlint, můžete navštívit následující odkaz:

Krok 1
FSlint můžeme vyhledat v nabídce Aktivity, kterou použijeme.

ZVĚTŠIT

Krok 2
Po otevření je nutné, abychom nainstalovali aplikaci, k tomu stačí kliknout na tlačítko Instalovat a spustí se proces instalace obslužného programu.

ZVĚTŠIT

Krok 3
Jakmile je nástroj nainstalován, přistoupíme k jeho spuštění a uvidíme následující prostředí:

Krok 4
Chcete -li zahájit proces hledání všech duplicitních souborů, stiskněte tlačítko „Hledat“ umístěné ve spodní části a výsledek bude podobný tomuto. Zde můžeme vybrat ty soubory, které nejsou nutné, a odstranit je stisknutím tlačítka Odstranit. Nástroj FSlint lze také použít z terminálu v Ubuntu 16.

Krok 5
Pokud chceme nástroj nainstalovat z terminálu, zadáme příkaz:
sudo apt-get install fslint

Krok 6
Jakmile je FSlint nainstalován, zadáme následující příkazy k použití FSlint. Vidíme, že jsou zobrazeny všechny soubory, které máme v systému duplikáty.

 cd / usr / share / fslint / fslint (Toto je výchozí cesta v Ubuntu) ./fslint / Cesta k hledání souborů

Důležitá poznámkaŽádný z těchto nástrojů nevymaže duplicitní soubory, pouze nám ukáže, jaké to jsou, a tento úkol musíme provést ručně.

Vidíme, že máme dvě praktické možnosti, jak detekovat a eliminovat duplicitní soubory v prostředí Linuxu, a tak lépe spravovat prostor a soubory, které se mají použít.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave