Команда pax
Архиватор pax (Portable Archive eXchanger) способен работать с архива- ми разнообразных форматов (в том числе tar и cpio). Он работает в трех ре- жимах:
r извлечения файлов из архива (опция -r);
r записи файлов в архив (опция -w);
r копирования (одновременно опции -rw).
Пример 12.13. Создание pax-архива |
$ pax -wv -f Tania.pax Tania Tania
Tania/P1.ppt Tania/insect.ppt Tania/P.ppt
pax: ustar vol 1, 4 files, 0 bytes read, 32409600 bytes written.
$ file Tania.pax Tania.pax: tar archive
Команда pax -wv -f Tania.pax Tania, показанная в примере 12.13, создала архив Tania.pax, содержащий каталог Tania. Опция -v была использована для отображения процесса создания архива (verbose). Созданный архив Tania.pax имеет формат tar.
При необходимости установки иного формата можно воспользоваться опци- ей -x (например, -x cpio). Также можно использовать компрессию с помо- щью gzip. Для включения компрессии предназначена опция -z.
Вывести содержимое архива можно командой, приведенной в примере 12.14.
Пример 12.14. Получение содержимого архива |
$ pax -v -f Tania.pax
drwxrwxr-x 2 user1 user1 0 Dec 3 Tania
-r-xr-xr-x 1 user1 user1 2641408 Mar 8 Tania/P1.ppt
-rwxr-xr-x 1 user1 user1 27053568 Dec 3 Tania/insect.ppt
-r-xr-xr-x 1 user1 user1 2702336 Mar 8 Tania/P.ppt
pax: ustar vol 1, 4 files, 32409600 bytes read, 0 bytes written.
Извлечение файлов из архива достигается при указании опции -r. При этом можно использовать опцию -s, позволяющую изменять имена извлекаемых из архива файлов подобно команде s потокового редактора sed (пример 12.15).
Пример 12.15. Извлечение файлов из архива с изменением имен |
$ cd /var/tmp/
$ ls
$ pax -r -s '/Tania/./' -f ~/Tania.pax 2> /dev/null
$ ls
insect.ppt P1.ppt P.ppt
Команда, выполненная в примере 12.15, извлекла в текущий каталог файлы из архива. При этом в именах извлекаемых файлов каталог Tania был заменен точкой. Поэтому файлы, содержавшиеся в подкаталоге Tania, были извлече- ны в текущий каталог.
Команду pax можно применять для рекурсивного копирования в проходном режиме (пример 12.16).
Пример 12.16. Копирование каталогов с помощью проходного режима pax |
# pax -rwv -pe ~user1/Tania .
./home/user1/Tania
./home/user1/Tania/P1.ppt
./home/user1/Tania/insect.ppt
./home/user1/Tania/P.ppt
# ls -l home/user1/Tania/ total 31680
-rwxr-xr-x 1 user1 user1 27053568 Dec 3 insect.ppt
-r-xr-xr-x 1 user1 user1 2641408 Mar 8 P1.ppt
-r-xr-xr-x 1 user1 user1 2702336 Mar 8 P.ppt
В этом примере суперпользователь рекурсивно скопировал в текущий каталог содержимое каталога /home/user1/Tania. Так как были использованы опции -pe (preserve everything), права на файлы и даты модификации изменены не были.
Дата добавления: 2015-06-12; просмотров: 938;