Sha1sum

sha1sum — программа, позволяющая вычислять значения хеш-сумм (контрольных сумм) файлов по алгоритму SHA-1. В обычном случае вычисленные хеши выводятся (можно сохранить в файле, для последующего использования). В других случаях программа сверяет вычисленные значения со значениями, сохраненными в файле (это удобно для массовой проверки целостности файлов).

Наиболее часто программа используется для проверки правильной загрузки файлов по сети.

Входит, в частности, в пакет GNU Coreutils.

Ключи запуска программы

sha1sum [ключи] [файл]...

Если файл не указан, или в качестве его имени указан символ -, то данные читаются из standard input.

Ключи:

  • -t, --text — читать данные файлов в текстовом режиме (по умолчанию). Перед именем файла выводится пробел.
  • -b, --binary — читать данные файлов в двоичном режиме. Перед именем файла выводится символ *.
  • -c, --check — сверять вычисленные значения SHA-1 со значениями из файла.
  • --status — (только при проверке хешей) — выводить только код проверки.
  • -w, --warn — (только при проверке хешей) — предупреждать о строках (checksum lines) с неправильным форматом.
  • --help — вывести только справку по ключам.
  • --version — вывести только информацию о версии.

Примеры

Хеши (checksums) SHA-1 (160-битные значения) выводятся в виде последовательностей из 40 шестнадцатеричных чисел.

 $ sha1sum ./s*
 41a12ce5ed24fcc802e74c2377f9791dc8d3e2e7  ./sec1.png
 00e01ccb943f8ea2e5f588dc1351ea998cbdc5c5  ./sec2.png

Для вычисления и записи (в файл sums.sha1) хешей файлов (читаемых как двоичные файлы) с шаблоном имени:

 sha1sum -b ./sec* > sums.sha1

Для проверки контрольных сумм файлов, сохраненных в файле.

sha1sum -c sums.sha1
./sec1.png: НЕУСПЕШНО
./sec2.png: Успех
sha1sum: ПРЕДУПРЕЖДЕНИЕ: НЕ совпали 1 вычисленные контрольные суммы из 2

Заметьте, что для каждого файла выводится результат проверки: Успех или НЕУСПЕШНО. Список проверяемых файлов читается из указанного файла.

Если нужно просто проверить, все ли файлы имеют правильные контрольные суммы, можно подавить «вывод результата для каждого файла» с помощью ключа --status. Тогда вообще ничего не выводится, а возвращается невидимый «код возврата». Это полезно, когда программа вызывается другой программой.

См. также

Ссылки