Команда представляет собой утилиту, используемую для вычисления и проверки контрольных сумм SHA-1 (Secure Hash Algorithm 1). Эта команда генерирует 160-битное хэш-значение, обычно представляемое в виде 40-значного шестнадцатеричного числа, из входных файлов или стандартного ввода. Основная задача sha1sum – обеспечить целостность данных, проверив, что файлы не были изменены или повреждены. Сравнивая SHA-1 хэш файла в разные моменты времени или из разных источников, пользователи могут определить, остался ли файл неизменным. Эта команда обычно используется при распространении программного обеспечения для проверки целостности загруженных файлов, гарантируя их соответствие оригинальным файлам, предоставленным разработчиками.
Командная строка Linux предлагает несколько инструментов для проверки и подтверждения целостности файла. Одним из таких инструментов является sha1sum, который мы рассмотрим в этом уроке на нескольких понятных примерах. Но прежде стоит отметить, что все приведенные здесь примеры были протестированы на машине Ubuntu 24.04 LTS.
Команда sha1sum в Linux
Команда sha1sum используется для вычисления и проверки дайджеста сообщения SHA1. Ниже приведен ее синтаксис:
sha1sum [OPTION]... [FILE]...
А вот как описывает этот инструмент man-страница:
Print or check SHA1 (160-bit) checksums. With no FILE, or when FILE is -, read standard input.
Ниже приведено несколько примеров в стиле Q&A, которые должны дать вам лучшее представление о том, как работает этот инструмент.
Q1. Как использовать команду sha1sum?
Базовое использование довольно простое – просто запустите команду с именем файла на входе.
Например:
sha1sum test.txt
Вот вывод, сделанный вышеуказанной командой на моей системе:
Слева показан дайджест сообщения, вычисленный инструментом. Вот как можно понять полученный результат:
The default mode is to print a line with checksum, a space, a character indicating input mode ('*' for binary, ' ' for text or where binary is insignificant), and name for each FILE.
Q2. Как использовать sha1sum для проверки целостности файла?
Для этого сначала сохраните дайджест сообщения, полученный командой, в файле .sha1. Например, вот как мы это сделали в нашем случае:
sha1sum test.txt > test.sha1
Теперь, когда test.txt и test.sha1 находятся в одном каталоге, используйте параметр командной строки -c для проверки целостности файла.
sha1sum -c test.sha1
В случае неудачной проверки инструмент выдает следующий результат:
Q3. Как заставить sha1sum читать файл в двоичном режиме?
По умолчанию команда sha1sum читает файл в текстовом режиме. Однако можно заставить инструмент читать файл и в бинарном режиме, для чего используется опция -b.
sha1sum -b [filename]
Q4. Какие под-опции доступны при проверке контрольных сумм?
Существует множество настроек, которые можно задать при проверке контрольных сумм с помощью sha1sum. Вот список:
--ignore-missing don't fail or report status for missing files
–quiet
don’t print OK for each successfully verified file
–status
don’t output anything, status code shows success
–strict
exit non-zero for improperly formatted checksum lines
-w, –warn
warn about improperly formatted checksum lines