GNU/Linux >> Znalost Linux >  >> Linux

Jak nejlépe porovnat obrovské adresářové stromy

stačí použít v terminálu

du -a

Tím se vrátí všechny soubory ve všech podsložkách včetně jejich velikostí, pak stačí soubory porovnat

Pro uložení dat do textového souboru

du -a > dump.txt

Pak stačí použít něco jako diff pro porovnání souborů

Tohle je pro linux :D


V minulosti jsem k porovnání stromů používal MD5 hash a diff. Je to pomalé ale najde změněné soubory v případech, kdy data nejsou spolehlivá. Je také přenosný, takže můžete přenášet index místo porovnávání souborů přes síť.

find /path/to/check -type f | xargs md5sum > after.txt

diff before.txt after.txt > diffs.txt

Pokusím se trochu rozvést, jak to udělat s Total Commanderem (doufám, že jsem pochopil, co chcete dělat).

  • nainstalujte si plugin DiskDir packer (vložil jsem přímý odkaz na plugin, pokud chcete, můžete přejít na stránku pluginů a vyhledat plugin DiskDir
  • po instalaci pluginu „zabalte“ adresář, jehož změny chcete sledovat, pomocí Alt+F5 a vyberte „lst“ z rozevíracího seznamu v části Packer dialogového okna; tím se vytvoří "balík", do kterého můžete vstoupit stisknutím klávesy enter, jako byste vstoupili do adresáře, a zobrazí se kompletní obsah adresáře
  • při porovnávání výsledků přejděte do původního adresáře v levém podokně a zadejte požadovaný snímek do pravého podokna
  • použijte funkci "Synchronize Dirs", která se nachází v nabídce Příkazy
  • v okně Synchronizovat adresáře zrušte zaškrtnutí políčka Porovnat podle obsahu, zaškrtněte Podadresáře a Ignorovat datum (nebo ne, pokud je důležité datum změny) a spusťte porovnání
  • okno zobrazí soubory, které jsou stejné (v tomto případě nikoli obsahem, pouze velikostí), soubory, které se liší a soubory chybějící na levé/pravé straně

Vzhledem k tomu, že snímek je prostý textový soubor a neporovnáváte podle obsahu, měl by být rychlý, ale nikdy jsem ho nepoužil pro opravdu velký adresář.

To je užitečné, pokud neprovádíte zálohy, ale chcete si pouze udělat snímek toho, jaký obsah adresáře byl v určitém okamžiku. Pokud provádíte zálohy, můžete použít stejný nástroj (Synchronizovat adresáře) k porovnání podle obsahu.

Existuje i rozšířená verze pluginu DiskDir, odkaz ke stažení je v prvním příspěvku. Tato verze umožňuje, aby se balíčky (jako zip, 7z...) zobrazovaly ve snímku jako adresáře. To by samozřejmě prodloužilo čas na vytvoření snímku.


Linux
  1. Jak porovnat obsah dvou tarballů

  2. Jak porovnám binární soubory v Linuxu?

  3. Jak tarovat soubory se seřazeným pořadím?

  1. Jak extrahovat soubory Tar do konkrétního nebo jiného adresáře v Linuxu

  2. Jak zjistit počet souborů v adresáři a podadresářích

  3. Jak odstranit OBROVSKÉ (100-200 GB) soubory v Linuxu

  1. Jak spočítat počet souborů v každém adresáři?

  2. Linux:Porovnejte strukturu adresářů bez porovnávání souborů

  3. Jak odstranit soubory ._ v adresáři? Ubuntu