Команда md5sum в Linux с примерами

Опубликовано: 16 Февраля, 2022

Md5sum предназначен для проверки целостности данных с использованием MD5 (алгоритм дайджеста сообщения 5).

MD5 - это 128-битный криптографический хеш, и при правильном использовании его можно использовать для проверки подлинности и целостности файла.

Пример :

Ввод: md5sum /home/mandeep/test/test.cpp
Выход: c6779ec2960296ed9a04f08d67f64422 /home/mandeep/test/test.cpp

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

Синтаксис:

md5sum [OPTION]... [FILE]...

Он напечатает или проверит контрольную сумму MD5 (128 бит).

Он вычисляет контрольную сумму MD5 для файла test.cpp.
Выход :

c6779ec2960296ed9a04f08d67f64422 /home/mandeep/test/test.cpp

Параметры :
-b: читать в двоичном режиме
-c: читать MD5 из файлов и проверять их
–Tag: создать контрольную сумму в стиле BSD
-t: читать в текстовом режиме (по умолчанию)

Параметры, которые полезны при проверке контрольной суммы:
–Ignore-missing: не сообщать о статусе отсутствующих файлов.
–Quiet: не печатать ОК для каждого успешно проверенного файла
–Status: ничего не выводить, код состояния показывает успех
–Strict: выйти из ненулевого значения для файлов с неправильно отформатированной контрольной суммой.
-w: предупреждать о неправильно отформатированных файлах контрольной суммы

Примеры использования команд с параметрами:

Пример 1. Сохраните контрольную сумму MD5 в файле и затем проверьте ее.

# md5sum /home/mandeep/test/test.cpp> checkmd5.md5

Контрольная сумма MD5 для test.cpp будет сохранена в файле checkmd5.md5.

# md5sum -c checkmd5.md5

Он проверит содержимое файла

Выход :

/home/mandeep/test/test.cpp: ОК

После изменения содержимого файла checkmd5.md5 вывод будет следующим:

/home/mandeep/test/test.cpp: НЕ ВЫПОЛНЕНО
md5sum: ПРЕДУПРЕЖДЕНИЕ: 1 вычисленная контрольная сумма НЕ совпадает

Пример 2: создание контрольной суммы в стиле BSD с параметром –tag

# md5sum --tag /home/mandeep/test/test.cpp

Выход :

MD5 (/home/mandeep/test/test.cpp) = c6779ec2960296ed9a04f08d67f64422

Пример 3: опция –quiet, может использоваться при проверке контрольной суммы, не печатать ОК, если проверка прошла успешно.

# md5sum -c --quiet checkmd5.md5 

Не производить никакого вывода, значит, он успешен.

Но если контрольная сумма не совпадает, выдается предупреждение.

# md5sum -c --quiet checkmd5.md5
/home/mandeep/test/test.cpp: НЕ ВЫПОЛНЕНО
md5sum: ПРЕДУПРЕЖДЕНИЕ: 1 вычисленная контрольная сумма НЕ совпадает

Пример 4: параметр –warn, его можно использовать для генерации предупреждения о неправильно отформатированных файлах контрольной суммы.

содержимое файла checkmd5.md5:

c6779ec2960296ed9a04f08d67f64422 /home/mandeep/test/test.cpp

Теперь выполните команду с параметром –warn.

# md5sum -c --warn checkmd5.md5
/home/mandeep/test/test.cpp: ОК

Это не дает никаких предупреждений.

Теперь отформатируйте файл checkmd5.md5.

c6779ec2960296ed9a04f08d67f64422 
/home/mandeep/test/test.cpp

Теперь выполните команду

# md5sum -c --warn checkmd5.md5

Выход :

md5sum: checkmd5.md5: 1: неверно отформатированная строка контрольной суммы MD5
md5sum: checkmd5.md5: 2: неверно отформатированная строка контрольной суммы MD5
md5sum: checkmd5.md5: не найдено правильно отформатированных строк контрольной суммы MD5

и если –warn заменен параметром –strict, он выйдет с ненулевым значением для неправильно отформатированных строк контрольной суммы.

# md5sum -c --strict checkmd5.md5
md5sum: checkmd5.md5: не найдено правильно отформатированных строк контрольной суммы MD5

- Мандип Сингх

Использованная литература :
1) md5sum википедия
2) справочная страница linux