Ein möglicher Weg wäre:
sha1sum path/to/folder/* | sha1sum
Wenn es einen ganzen Verzeichnisbaum gibt, ist es wahrscheinlich besser, find und xargs zu verwenden. Ein möglicher Befehl wäre
find path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum
Und schließlich, wenn Sie auch Berechtigungen und leere Verzeichnisse berücksichtigen müssen:
(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
Die Argumente für stat
bewirkt, dass der Name der Datei ausgegeben wird, gefolgt von ihren oktalen Berechtigungen. Die beiden Suchvorgänge werden nacheinander ausgeführt und verursachen die doppelte Menge an Festplatten-E / A, wobei der erste alle Dateinamen findet und den Inhalt prüft, der zweite alle Datei- und Verzeichnisnamen findet und Name und Modus ausgibt. Die Liste der "Dateinamen und Prüfsummen", gefolgt von "Namen und Verzeichnissen, mit Berechtigungen" wird dann für eine kleinere Prüfsumme geprüft.
-
Verwenden Sie ein Dateisystem-Intrusion-Detection-Tool wie Aide.
-
hash einen Tar-Ball des Verzeichnisses:
tar cvf - /path/to/folder | sha1sum
-
Codieren Sie selbst etwas, wie den Einzeiler von Vatine:
find /path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum