Оглавление

Контрольная сумма — это уникальная последовательность цифр и букв, которая создается на основе содержимого файла. Она используется для проверки целостности данных, чтобы убедиться, что файл не был изменен или поврежден. 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, самой лучшей операционной системы!