Una forma posible sería:
sha1sum path/to/folder/* | sha1sum
Si hay un árbol de directorios completo, probablemente sea mejor usar find y xargs. Un posible comando sería
find path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum
Y, finalmente, si también necesita tener en cuenta los permisos y los directorios vacíos:
(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
Los argumentos de stat
hará que imprima el nombre del archivo, seguido de sus permisos octales. Los dos hallazgos se ejecutarán uno tras otro, causando el doble de la cantidad de E/S del disco, el primero encontrando todos los nombres de archivos y sumando el contenido, el segundo encontrando todos los nombres de archivos y directorios, imprimiendo el nombre y el modo. La lista de "nombres de archivo y sumas de verificación", seguida de "nombres y directorios, con permisos" se sumará a continuación, para obtener una suma de verificación más pequeña.
-
Use una herramienta de detección de intrusos en el sistema de archivos como Aide.
-
hash una bola de alquitrán del directorio:
tar cvf - /path/to/folder | sha1sum
-
Codifica algo tú mismo, como el oneliner de vatine:
find /path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum