Приемы профессиональной работы в UNIX


ОПИСАНИЕ - часть 2


Dsum - это утилита, которая выполняет проверку после копирования. Она предполагает, что файлы скопированы из каталога-источника в каталог-приемник. Каталог-источник назван управляющим каталогом, поскольку он следит за тем, какие файлы сравниваются. Для каждого файла в управляющем каталоге печатается его имя вместе со значением его контрольной суммы и со значением контрольной суммы для скопированного файла в каталоге-приемнике. Вся эта информация выдается в одной строке.

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

Альтернативой для dsum может быть выполнение какого-либо сценария, подобного приводимому ниже.

  1. Скопируйте ваши файлы в другой каталог.
  2. Подсчитайте контрольную сумму всех файлов из управляющего каталога и выведите результат в какой-либо файл.
  3. Подсчитайте контрольную сумму всех файлов в каталоге, содержащем копию, и выведите результат в какой-либо файл.
  4. Сравните эти два файла командой diff для того, чтобы увидеть, не отличаются ли какие-либо копии.

Это не дает вам даже хорошего вывода на экран о том, что происходит. Dsum не проходит вниз по дереву файлов, потому что большинство копий являются копиями из каталога в каталог, а не из сегмента дерева в сегмент дерева. Из-за того, что она не выполняет такой обход, сложность программы существенно понижается.

По умолчанию сравниваются ВСЕ файлы. Это предполагает, что вы скопировали все файлы в каталог копирования. В некоторых случаях вы можете захотеть копировать только выбранные файлы, такие как *.c (все ваши исходные файлы). В этом случае управляющий каталог содержит множество файлов, а каталог с копиями содержит только файлы с расширением .c.

Для поддержки таких случаев в программу включены ключи -c и -o. Ключ -c указывает только файлы типа *.c из управляющего каталога. В результате производится проверка только файлов *.c в каталоге с копией. Ключ -o выполняет то же самое для файлов, соответствующих *.o.




Начало  Назад  Вперед