Вперед Назад Содержание

6. Вычисление контрольных сумм файлов

Эти команды генерируют несколько чисел представляющих содержимое файла.

6.1 `wc': вывод числа строк, слов и символов содержащиеся в файле

Утилита `wc' подсчитывает и выводит число символов, слов, и строк файлов, указанных в качестве аргументов FILE. Если имя файла не указано, или в качестве одного из аргументов задан минус '-', `wc' считывает данные из стандартного ввода.

Общая запись:

wc [OPTION]... [FILE]...
`wc' выводит одну строку со счетчиками для каждого файла. И если в качестве аргумента задан файл, то имя файла выводится перед счетчиками. Если задано больше одного файла, `wc' выводит заключительную строку с именем `total' и суммарными счетчиками всех файлов. Счетчики выводятся в следующем порядке: строки, слова, символы.

По умолчанию, `wc' выводит все три счетчика. Можно задать вывод конкретных счетчиков. Опции не анулируют предыдущие опции, т.ч. wc --bytes --words выведет счетчики символов и слов.

Утилита воспринимает следующие опции (см. так же главу 2 'Общие Опции'):

`-c' или `--bytes' или `--chars'

Выведет количество символов.

`-w' или `--words'

Выведет количество слов.

`-l' или `--lines'

Выведет количество строк.

6.2 `sum': вывод контрольной суммы и числа блоков

Утилита `sum' вычисляет 16-ти битовую контрольную сумму каждого файла, указанного в качестве аргумента FILE. Если имя файла не указано, или в качестве одного из аргументов задан минус '-', `sum' считывает данные из стандартного ввода.

Общая запись:

sum [OPTION]... [FILE]...
`sum' выводит контрольную сумму и число блоков (округленное сверху) для каждого файла. По умолчанию, если задано больше одного файла, то имя файла тоже выводится.

По умолчанию, GNU утилита `sum' использует алгоритм вычисления контрольной суммы схожий с BSD утилитой `sum' и выводит размер файла в 1024-байтовых блоках.

Утилита воспринимает следующие опции (см. так же главу 2 'Общие Опции'):

`-r'

Эта опция необходима для совместимости с System V утилитой `sum'. Данная опция не оказывает влияния без указания опции `-s'.

`-s' или `--sysv'

Использует алгоритм вычисления контрольной суммы System V утилиты sum', и выдает размер файла в 512-байтовых блоках. Основная задача `sum' обеспечивать совметимость, а вот утилита

`cksum'

(см. следующий раздел) предпочтительнее для новых программ.

6.3 `cksum': вывод CRC контрольной суммы и подсчет символов

Утилита `cksum' высчитывает усложненную циклическую (CRC) контрольную сумму каждого файла, указанного в качестве аргумента FILE. Если имя файла не указано, или в качестве одного из аргументов задан минус '-', `cksum' считывает данные из стандартного ввода.

Общая запись:.

cksum [OPTION]... [FILE]...
Утилита `cksum' выводит CRC контрольную сумму и число символов каждого файла. По умолчанию, если задан хотя бы один файл, то имя файла тоже выводится.

`cksum' обычно используется для проверки правильности перенесенного необычным способом файла (например 'netnews'), путем сравнения контрольной суммы полученного файла и исходной контрольной суммы, которая прилагается к файлу.

CRC-алгоритм задан в стандарте POSIX.2. Он не совместим с алгоритмом BSD или System V утилиты `sum' (см. предыдущий раздел), но он гораздо надежнее.

Опций всего две: `--help' и `--version' (см. главу 2 'Общие Опции').

6.4 `md5sum': вывод или проверка контрольной строки

Утилита `md5sum' вычисляет 128-битовую контрольную сумму (или "отпечатки пальцев") каждого файла, указанного в качестве аргумента FILE. Если имя файла не указано, или в качестве одного из аргументов задан минус '-', `md5sum' считывает данные из стандартного ввода. `md5sum' может так же определить подходит ли входная контрольная сумма соответствующему входному файлу.

Общая запись:

md5sum [OPTION]... [FILE]... md5sum [OPTION]... --check [FILE] md5sum [OPTION]... --string=STRING ...
Утилита `md5sum' выводит для каждого файла контрольную MD5 сумму, флаг показывающий, что входной файл двоичный или текстовый, и имя файла.

Утилита воспринимает следующие опции (см. так же главу 2 'Общие Опции'):

`-b' или `--binary'

Принимает все входные файлы, как бинарные. Эта опция не действенна в UNIX системах, т.к. они не различают двоичные и текстовые файлы. Она используется в системах с различным внутренним и внешним представлениями символов.

`-c' или `--check'

Читает данные и котрольную строку из FILE (если FILE не определен, то из стандартного ввода) и сообщает подходит ли эта строка соответствующему файлу. Каждая контрольная строка состоит из контрольной MD5 суммы, двоично/текстового флага и имени файла. Двоичные файлы отмечаются символом `*', текстовые - ` '. Для каждой такой строки, `md5sum' читает названный файл и считает для него контрольную MD5 сумму. Если вычисленная контрольная сумма не совпадает с входной контрольной суммой, то файл отмечается, как не прошедьший проверку. Иначе, файл выдерживает проверку и, по умолчанию, для каждой контрольной строки, выводится строка показывающая, что файл прошел проверку. Опция `--status' используется для отмены вывода этой строки. Если один из заданных файлов не удается открыть, если одна из контрольных строк содержит контрольную MD5 сумму не подходящую соответствующему файлу, или если какой-нибудь контрольной строки вообще нет, то утилита будет иметь ненулевой выходной статус.

`--status'

Ничего не выводит при проверке контрольных сумм.

`--string=STRING'

Вычисляет контрольную MD5 сумму для STRING, как для файла. Результат такой же, как для файла, содержащего только строку STRING.

`-t' или `--text'

Трактует все входные файлы, как текстовые.

`-w' или `--warn'

При проверке контрольных сумм, выводится сообщение о неправильно сформированных контрольных строках, если они есть.


Вперед Назад Содержание