Jeden možný způsob by byl:
sha1sum path/to/folder/* | sha1sum
Pokud existuje celý adresářový strom, pravděpodobně bude lepší použít find a xargs. Jeden možný příkaz by byl
find path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum
A konečně, pokud také potřebujete vzít v úvahu oprávnění a prázdné adresáře:
(find path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum;
find path/to/folder \( -type f -o -type d \) -print0 | sort -z | \
xargs -0 stat -c '%n %a') \
| sha1sum
Argumenty pro stat
způsobí, že vytiskne název souboru následovaný osmičkovými oprávněními. Tato dvě hledání poběží jedno po druhém, což způsobí dvojnásobné množství IO disku, první najde všechny názvy souborů a provede kontrolní součet obsahu, druhé vyhledá všechny názvy souborů a adresářů, název tisku a režim. Seznam "názvů souborů a kontrolních součtů" následovaný "jmény a adresáři s oprávněními" bude poté kontrolní součet pro menší kontrolní součet.
-
Použijte nástroj pro detekci narušení souborového systému, jako je asistent.
-
hash tar ball z adresáře:
tar cvf - /path/to/folder | sha1sum
-
Sami si něco nakódujte, například vatine's oneliner:
find /path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum