md5sum

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

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

Наиболее часто программа используется для проверки правильной загрузки файлов по сети. Программа имеет множество версий (функциональность версий может существенно различаться) для различных ОС — например, GNU/Linux, UNIX (напр., BSD), Microsoft Windows.

Ключи запуска программы[править | править код]

md5sum [ключи] [файл]...

Если файл не указан, или в качестве его имени указан символ -, то данные читаются из standard input.

Ключи:

  • -t, --text — читать данные файлов в текстовом режиме (по умолчанию). Перед именем файла выводится пробел.
  • -b, --binary — читать данные файлов в двоичном режиме. Перед именем файла выводится символ *.
  • -c, --check — сверять вычисленные значения MD5 со значениями из файла
  • --status — (только при проверке хешей) — выводить только код проверки ()
  • -w, --warn — (только при проверке хешей) — предупреждать о строках (checksum lines) с неправильным форматом
  • --help — вывести только справку по ключам
  • --version — вывести только информацию о версии

md5deep[править | править код]

Многие версии программы md5sum, не могут обрабатывать множества файлов, перемещаясь по каталогам рекурсивно. Этого ограничения не имет усовершенствованная версия программы — md5deep.

  • -r — Рекурсивный режим (обработка файлов во вложенных каталогах).
  • -e — выводить оставшееся приблизительно время до завершения обработки файла.
  • -s — немой (silent) режим. Не выводятся все сообщения об ошибках.
  • -z — выводить размер файла перед хешем
  • -m шаблон_файла — использовать проверку имени файла на соответствие шаблону. See README/man page
  • -x шаблон_файла — инверсия ключа -m
  • -M and -X are the same as -m and -x but also print hashes of each file
  • -w — displays which known file generated a match
  • -a and -A add a single hash to the positive or negative matching set
  • -b — prints only the bare name of files; all path information is omitted
  • -l — print relative paths for filenames
  • -k — print asterisk before hash
  • -o — Only process certain types of files:
     f - Regular File       l - Symbolic Link
     b - Block Device       s - Socket
     c - Character Device   d - Solaris Door
     p - Named Pipe (FIFO)
  • -v — display version number and exit

Примеры[править | править код]

Хеши (checksums) MD5 (128-битные значения) выводятся в виде последовательностей из 32 шестнадцатеричных чисел.

 $ md5sum ./s*
 3111519d5b4efd31565831f735ab0d2f  ./sec1.png
 d73ecc5397b8bfde0cc218f798019064  ./sec2.png

Для вычисления и записи (в файл sums.md5) хешей файлов (читаемых как двоичные файлы) с шаблоном имени :

 md5sum -b ./sec* > sums.md5

Для проверки контрольных сумм файлов, сохраненных в файле.

md5sum -c sums.md5
./sec1.png: FAILED
./sec2.png: OK
md5sum: WARNING: 1 of 2 computed checksums did NOT match

Заметьте, что для каждого файла выводится результат проверки: OK или FAILED. Список проверяемых файлов читается из указанного файла.

Если нужно просто проверить, все ли файлы имеют правильные контрольные суммы, можно подавить «вывод результата для каждого файла» с помощью ключа --status. Тогда вообще ничего не выводится, а возвращается невидимый «код возврата». Это полезно, когда программа вызывается другой программой.

Чтобы обрабатывать вычислить хеши всех файлов в текущем каталоге и его подкаталогах (рекурсивно), при этом выводить размер файлов и относительный путь файла используете:

md5deep -r -z -l *

получается информация (которую можно перенаправить для сохранения в файле) вида:

       57  0cfbc88da15e6d31d3ad438d50f14eed  docs/DVD05/disc05.iso
 14325604  7cd30a721a2e672c3d08c932760be0e3  Edocs/2005/2005-08.tar.gz
  7944551  b13aa16388acaf55c5bcf71e8b5c158c  Edocs/2004/2004-12.tar.gz

См. также[править | править код]

Ссылки[править | править код]