Команда md5sum в Linux с примерами
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