ryg

Команды терминала bash cksum и sum

cksum, sum -- отбражает контрольную сумму файла и его размер

Синтаксис:

     cksum [-o 1 | 2 | 3] [file ...]

Описание:

Утилита cksum выводит в стандартный вывод три разделенных пробелами поля: Контрольная сумма файла (CRC), его размер в байтах и имя файла. Если в командной строке не указывать имя файла, то для расчета будут использованы данные поступающие через стандартный ввод.
Команда sum аналогична команде cksum, но имеет другой (старый 1) алгоритм подсчёта и сохраняется для совместимости с предыдущими версиями.
 
Доступны параметры:
 
-o  Использовать "старый" алгоритм расчета, а не используемый по умолчанию (Superior).
 
Алгоритм 1 использовался на старых версиях BSD в команде sum и в предыдущих версиях AT&T System V UNIX в команде sum с параметром -r. Это 16-битная контрольная сумма с правым сдвигом перед каждым добавлением и откидываемым переполнением.
 
Алгоритм 2 это алгоритм, применявшийся по умолчанию в системах AT&T System V UNIX в команде sum. Это 32-битная контрольная сумма определяемая следующим образом:
		s= сумма всех байт
		r = s % 2^16 + (s % 2^32) / 2^16;
		cksum = (r % 2^16) + r / 2^16;
 
Алгоритм 3 обычно называется "32-bit CRC". Это 32-битная контрольная сумма.
Оба алгоритма (первый и второй) выводят в стандартный вывод те же поля, что и алгоритм по умолчанию, за исключением того, что размер файла выводится в блоках, а не в байтах. Алгоритм 1 по традиции использует блок размером 1024 байта, а алгоритм 2 использует 512-байтные блоки. 
 
По умолчанию CRC использует многочлен для проверки ошибок CRC на стандарте ISO/IEC 8802-3:1989.
 
G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
 
Возвращаемое значение:
Утилиты cksum и sum возвращают 0 в случае успешного завершения и число >0 в случае ошибки.
 
cksum отвечает стандарту  IEEE Std 1003.2-1992 (``POSIX.2'').
Появилась в версии 4.4 BSD

Алфавитный список команд terminal в Mac OS X