Один из возможных способов будет:
sha1sum path/to/folder/* | sha1sum
Если существует целое дерево каталогов, вам, вероятно, лучше использовать find и xargs. Одна из возможных команд будет
find path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum
И, наконец, если вам также необходимо учитывать разрешения и пустые каталоги:
(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
Аргументы stat
заставят его напечатать имя файла с последующими восьмеричными разрешениями. Два поиска будут выполняться один за другим, вызывая удвоение количества операций ввода-вывода на диске: первый найдет все имена файлов и проверит контрольную сумму, второй найдет все имена файлов и каталогов, имя и режим печати. Список «имен файлов и контрольных сумм», за которым следуют «имена и каталоги с разрешениями», будет затем контрольной суммой для меньшей контрольной суммы.