mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      CPIO(1)                                                 CPIO(1)

      НАЗВАНИЕ
              cpio  -  архивизация  и извлечение, а также копирование
              файлов

      СИНТАКСИС
    cpio  -o [-a] [-c] [-B] [-v]

    cpio  -i [-B] [-c] [-d] [-m] [-r] [-t] [-u] [-v] [-f] [-s] [-S] [-b] [-6]
	     [шаблон ...]

    cpio  -p [-a] [-d] [-l] [-m] [-u] [-v] каталог

      ОПИСАНИЕ
              Команда cpio -o (архивизация)  читает  со  стандартного
              ввода список маршрутных имен и копирует  эти  файлы  на
              стандартный вывод вместе с маршрутными именами и инфор-
              мацией о файлах. Вывод дополняется до размера, кратного
              512 байт.

              Команда cpio -i (извлечение) выделяет  отдельные  файлы
              из стандартного ввода, который, как предполагается, яв-
              ляется результатом работы cpio -o.  Извлекаются  только
              файлы, имена которых соответствуют хотя  бы  одному  из
              указанных шаблонов, построенных по принятым  в  shell'е
              правилам для генерации имен файлов. Символу / могут со-
              ответствовать в шаблоне метасимволы ?, *, и [...].  Мо-
              жет быть указано несколько шаблонов, а если не  указано
              ни одного, то по умолчанию шаблоном будет  *  (то  есть
              будут извлечены все файлы). Каждый шаблон  должен  быть
              окружен двойными кавычками. Извлекаемые файлы создаются
              и копируются в текущее дерево каталогов в  соответствии
              с описанными ниже опциями. Режим доступа к файлу  будет
              тем же, что при выполнении команды  cpio  -o.  Владелец
              файла и группа будут взяты у текущего пользователя, ес-
              ли он не суперпользователь,  в  противном  случае  cpio
              сохранит владельца и группу файла, которые он имел  при
              выполнении команды cpio -o.

              Если  команда cpio -i пытается создать уже существующий
              файл, и время последней модификации у извлекаемого фай-
              ла то же самое или более раннее, чем  у  существующего,
              то  cpio выдает предупреждение и не изменяет существую-
              щий файл. (Используя опцию -u, можно добиться безуслов-
              ной замены существующего файла, без учета времени  пос-
              ледней модификации.)

              Команда cpio -p (копирование)  читает  со  стандартного
              ввода список маршрутных имен и, в соответствии с опция-
              ми командной строки, копирует заданные файлы  в  дерево
              каталогов с указанным корневым каталогом.

              Опциям команды cpio приписан следующий смысл:

              -a   Не изменять время последнего доступа  к  исходному
                   файлу при его копировании.

              -B   Установить  размер блока равным 5120 байт. Эта оп-
                   ция не применяется с  опцией  -p  и  имеет  смысл,
                   только  если  ввод/вывод происходит на специальное
                   символьное устройство (например /dev/mt).

              -d   Создавать каталоги в случае необходимости.

              -c   Заголовки файлов записывать в виде ASCII-символов.
                   Настоятельно рекомендуется использовать эту опцию,
                   если файлы переносятся на компьютер другого типа.

              -r   Интерактивно переименовывать  файлы.  Для  каждого
                   извлекаемого  файла  у  пользователя запрашивается
                   новое имя,  а  если  пользователь  ответил  пустой
                   строкой, то файл пропускается. Опция не применяет-
                   ся с опцией -p.

              -t   Вывести  оглавление архива, ранее созданного с по-
                   мощью команды cpio. Никакие файлы не создаются.

              -u   Безусловно заменять существующий файл  архивным  с
                   тем  же  именем  (обычно  старый  файл не заменяет
                   файл, изменявшийся позднее).

              -v   Вывести список имен обработанных файлов. Если  ис-
                   пользована  опция  -t,  то оглавление выглядит как
                   вывод команды ls -l [см. ls(1)].

              -l   Везде, где это возможно, не  копировать  файлы,  а
                   создавать ссылки. Эта опция употребляется только с
                   опцией -p.

              -m   Сохранять  прежнее время последней модификации (то
                   есть то время, которое указано в заголовке файла).
                   При отсутствии этой опции время последней  модифи-
                   кации устанавливается равным текущему времени. Эта
                   опция  не действует на время последней модификации
                   скопированных каталогов. Заметим,  что  в  команде
                   cpio смысл опции -m противоположен ее смыслу в ко-
                   манде tar.

              -f   Извлекать все файлы, кроме тех, имена которых  со-
                   ответствуют шаблонам.

              -s   Переставлять  байты  в  каждой половине слова. Эта
                   опция используется только с опцией -i.

              -S   Переставлять половины слов в слове.  Предполагает-
                   ся,  что слово содержит четыре байта. Опция -S ис-
                   пользуется только с опцией -i.

              -b   Порядок байт в слове изменять на  противоположный.
                   Используется только с опцией -i.

              -6   Обрабатывать  старые  файлы.  Имеет смысл только с
                   опцией -i.

              Если  в  процессе записи на специальное символьное уст-
              ройство (опция -o) или чтения с него (опция -i) кончил-
              ся физический  носитель  (например,  дискета),  команда
              cpio выводит сообщение:

              If you want to go on, type device/file name when ready.

              Чтобы продолжить, Вы должны заменить носитель и  ввести
              имя  специального  символьного  устройства   (например,
              /dev/rdsk/fd) и символ возврат_каретки.  Можно  продол-
              жить, указав для cpio другое устройство. Например, если
              Вы имеете два дисковода для гибких дисков, можно указы-
              вать их по очереди, чтобы cpio выводил на другой диско-
              вод, пока Вы будете менять дискету. (Один символ  возв-
              рат_каретки заставляет cpio окончить работу.)

      ПРИМЕРЫ
              1.  Если стандартный ввод поступает в cpio -o через ка-
              нал, то команда cpio группирует файлы, так что они  мо-
              гут быть направлены (>) в один файл (../newfile). Вмес-
              то ls Вы можете использовать команды find, echo, cat, и
              т.д.,  чтобы подать список имен в cpio. Можно назначить
              вывод на устройство, а не в файл.

		     ls | cpio -o >../newfile

              2. Команда cpio -i использует выходной файл cpio -o  (в
              данном примере направленный через канал  вывод  команды
              cat), выбирает оттуда те файлы,  которые  соответствуют
              шаблонам (memo/a1, memo/b*), создает каталоги, если это
              нужно (опция -d), и помещает  файлы  в  соответствующие
              каталоги. Если шаблоны не  указаны,  то  все  файлы  из
              newfile будут размещены в текущем каталоге.

		     cat newfile | cpio -id "memo/a1" "memo/b*"

              3. Команда cpio -p берет имена файлов  и  копирует  эти
              файлы в другой каталог (в примере newdir)  на  этом  же
              компьютере или заводит на них еще  одну  ссылку  (опция
              -l). Опция -d позволяет создавать новые каталоги в слу-
              чае необходимости. Опция -m предписывает сохранить вре-
              мя последней модификации. (Очень важно использовать оп-
              цию -depth в команде find при генерации маршрутных имен
              для cpio. Эта опция заставит  find  перечислять  файлы,
              содержащиеся в каталоге, раньше чем сам каталог  и иск-
              лючит ситуацию, когда cpio скопирует каталог, в который
              по правам доступа нельзя писать, вместе с этим  правом,
              а затем не сможет перенести в него файлы.)

		     find . -depth -print | cpio -pdlmv newdir

      СМ. ТАКЖЕ
              ar(1), find(1), ls(1), tar(1).
              cpio(4) в Справочнике программиста.

      ПРИМЕЧАНИЯ
              Маршрутные имена обрезаются до 256 символов.

              Только суперпользователь может  копировать  специальные
              файлы.

              Количество блоков сообщается в предположении, что  раз-
              мер блока равен 512 байт.



CPIO(4)                                                 CPIO(4)

НАЗВАНИЕ 
        cpio - формат архива cpio

ОПИСАНИЕ 
        Если при запуске cpio(1) не используется опция  -c,  то
        заголовок файла имеет следующую структуру:

        struct {
          short  h_magic,
                 h_dev;
          ushort h_ino,
                 h_mode,
                 h_uid,
                 h_gid;
          short  h_nlink,
                 h_rdev,
                 h_mtime [2],
                 h_namesize,
                 h_filesize [2];
          char   h_name [h_namesize округленное до слова];
        } Hdr;

        Если опция -c используется, то заголовок файла описыва-
        ется следующим образом:

        sscanf(Chdr,"%6o%6o%6o%6o%6o%6o%6o%6o%11lo%6o%11lo%s",
          &Hdr.h_magic, &Hdr.h_dev, &Hdr.h_ino, &Hdr.h_mode,
          &Hdr.h_uid, &Hdr.h_gid, &Hdr.h_nlink, &Hdr.h_rdev,
          &Longtime, &Hdr.h_namesize,&Longfile,Hdr.h_name);

        Longtime и Longfile эквивалентны  полям  Hdr.h_mtime  и
        Hdr.h_filesize соответственно. Содержимое каждого файла
        вместе с другими элементами, описывающими файл, помеща-
        ется в элемент массива структур переменной длины.  Каж-
        дое вхождение h_magic содержит  восьмеричную  константу
        070707. Поля от h_dev до h_mtime имеют  тот  же  смысл,
        что и одноименные элементы stat(2). Длина заканчивающе-
        гося нулем маршрутного имени h_name, включая и  нулевой
        байт, хранится в h_namesize.

        Именем   последнего   элемента   архива  всегда  служит
        TRAILER!!!. Специальные  файлы,  каталоги  и  последний
        элемент  всегда  сохраняются с полем h_filesize, равным
        нулю.

СМ. ТАКЖЕ 
        stat(2).
        cpio(1), find(1) в Справочнике пользователя.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк