Контрольная сумма — это уникальная последовательность цифр и букв, которая создается на основе содержимого файла. Она используется для проверки целостности данных, чтобы убедиться, что файл не был изменен или поврежден. Linux предоставляет несколько удобных утилит для подсчета контрольных сумм: cksum
, md5sum
, sha1sum
и sha256sum
.
1. Команда cksum
Команда cksum
— это один из простейших способов вычислить контрольную сумму и размер файла. Она использует алгоритм контрольной суммы CRC32.
Синтаксис:
cksum <имя_файла>
Пример использования:
$ cksum example.txt 1258926179 1024 example.txt
В данном примере:
1258926179
— это контрольная сумма;1024
— это размер файла в байтах;example.txt
— это имя файла.
2. Команда md5sum
md5sum
использует алгоритм MD5, который создает 128-битную контрольную сумму. Хотя этот метод был популярен для проверки целостности, он считается небезопасным из-за возможности коллизий (двух разных файлов с одинаковой контрольной суммой).
Синтаксис:
md5sum <имя_файла>
Пример использования:
$ md5sum example.txt d41d8cd98f00b204e9800998ecf8427e example.txt
Здесь:
d41d8cd98f00b204e9800998ecf8427e
— это контрольная сумма MD5;example.txt
— имя файла.
3. Команда sha1sum
Команда sha1sum
использует алгоритм SHA-1, который генерирует 160-битную контрольную сумму. Это более надежный способ по сравнению с MD5, однако также подвержен уязвимостям.
Синтаксис:
sha1sum <имя_файла>
Пример использования:
$ sha1sum example.txt da39a3ee5e6b4b0d3255bfef95601890afd80709 example.txt
Здесь:
da39a3ee5e6b4b0d3255bfef95601890afd80709
— контрольная сумма SHA-1;example.txt
— имя файла.
4. Команда sha256sum
sha256sum
использует алгоритм SHA-256, который генерирует 256-битную контрольную сумму. Это один из самых надежных методов на сегодняшний день, поскольку он менее подвержен коллизиям и уязвимостям.
Синтаксис:
sha256sum <имя_файла>
Пример использования:
$ sha256sum example.txt e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 example.txt
Здесь:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
— контрольная сумма SHA-256;example.txt
— имя файла.
Почему это важно?
Проверка контрольных сумм полезна для:
- Целостности данных: Обеспечивает уверенность, что файл не был поврежден или изменен.
- Безопасности: Можно убедиться, что загруженный файл не был изменен злоумышленниками.
- Сравнения: Позволяет сравнить файлы по их контрольной сумме и определить, идентичны ли они.
Дополнительные опции команд
Для всех перечисленных команд доступны полезные опции:
- -b — вывод контрольной суммы для бинарного файла (по умолчанию для
md5sum
,sha1sum
иsha256sum
). - -c — проверка файлов по заранее сгенерированным контрольным суммам.
Пример проверки:
$ sha256sum -c checksums.txt example.txt: OK
Генерация контрольных сумм для нескольких файлов
Если необходимо сгенерировать контрольные суммы сразу для нескольких файлов, можно использовать символы подстановки:
$ sha256sum *.txt
Эта команда выведет контрольные суммы для всех текстовых файлов в текущем каталоге.
Желаю вам успешного продвижения в изучении Linux, самой лучшей операционной системы!