Заметим, что если в только что приведенном примере вместо * поставить *.*, то будут сохранены только те файлы, которые расположены непосредственно в подкаталоге sub_dir, а подкаталоги каталога sub_dir архивированы не будут [14] (Замечание прислано М.Зотовым) Неверно. Будут архивированы те и только те файлы, которые удовлетворяют шаблону *.*. Например, файл sub_dir/something архивирован не будет, а подкаталог sub_dir/sub_dir.2/ - будет!
. Если в том же примере не указать имя подкаталога, то будут архивироваться все файлы (и подкаталоги) текущего каталога. Но если вы дадите команду следующего вида
[user]$ tar -cvf имя_архива./.*
то в архиве будут сохранены не только все файлы (и подкаталоги) текущего каталога, но и файлы из родительского каталога, а хотели ли вы этого?
Теперь вы знаете как создать архив, а для того, чтобы распаковать (извлечь) файлы из архива, нужно дать команду:
[user]$ tar -xvf имя_архива файлы
Получить список файлов архива можно командой:
[user]$ tar -tf имя_архива | less
Программа tar является удобным средством для создания резервных копий файлов. Конечно, существуют специальные утилиты резервного архивирования, но даже если вы о них еще не знаете, то по меньшей мере, вы можете сделать следующее:
[user]$ tar -Mcvf /dev/fd0H1440 /каталог
Такая команда создаст на дискетах архив с содержимым каталога, разбивая его на тома. Монтировать дискеты перед запуском команды не нужно, программа просто пишет на устройство потоком (в данном случае на дискету по секторам). При этом никакой файловой системы на дискете не создается. После заполнения дискеты вам будет выдан запрос на смену дискеты. Только, прежде чем запускать такую команду на выполнение, приготовьте достаточное число свободных дискет (помните, что tar не сжимает файлы), которые лучше всего соответствующим образом пометить и обязательно пронумеровать. Кроме того, имейте в виду, что вся информация на дискетах будет молча уничтожена.
Чтобы восстановить сохраненные данные, воспользуйтесь командой:
[user]$ tar -Mxpvf /dev/fd0H1440
Если вы ошибетесь в порядке вставляемых дискет, программы сообщит вам об этом и попросит заменить том.
В заключение раздела заметим, что всегда можно получить подсказку по использованию программы tar, дав команду
[user]$ tar -help
При этом, если вы используете русифицированный дистрибутив Linux, например, Black Cat 6.02, то подсказка будет выдаваться по-русски.
Хотя программа tar создает архивы, она, как было сказано, не сжимает архивы, а просто соединяет отдельные файлы в единый архивный файл. Для сжатия этого файла часто применяют команду gzip. В простейшем случае она вызывается в следующем формате:
[user]$ gzip файл
В командной строке можно указать сразу несколько имен файлов или шаблон имени файла. Но в этом случае каждый из указанных файлов будет заархивирован отдельно (общий архив не создается).
Для того, чтобы распаковать архив, используйте команду
[user]$ gzip -d файл_архива
или
[user]$ gunzip файл_архива
Исходные файлы после сжатия удаляются, остается только архивный файл (файлы перемещаются в архив), а при разархивации удаляется архив.
Перечислим кратко другие полезные опции программы gzip.
Таблица 4.6. Основные опции программы gzip
Опция |
Значение |
-h, --help |
Вызов краткой помощи по использованию программы |
-l, --list |
Выдает имя файла, содержащегося в архиве, его объем и степень сжатия |
-L, --license |
Отображает номер версии и лицензию на программу |
-N, --name |
Сохранять (или восстанавливать) исходное имя и время создания файла |
-n, --no-name |
Не сохранять (не восстанавливать) исходное имя и время создания файла |
-q, --quiet |
Подавляет выдачу на экран предупреждающих сообщений |
-r, --recursive |
Рекурсивно обрабатывать подкаталоги (используется в случае. когда задан шаблон имен обрабатываемых файлов) |
-S suf, --suffix .suf |
Добавить суффикс .suf к имени сжатого файла (вместо добавляемого по умолчанию суффикса gz; но учтите, что при разархивации файлов с суффиксами, отличными от gz, программа вас не поймет) |
-t, --test |
Протестировать архивный файл |
-v, --verbose |
Выдача дополнительных сообщений в процессе работы программы |
-V, --version |
Отобразить версию программы |
-1, --fast |
Быстрое сжатие |
-9, --best |
Более высокая степень сжатия |
Поскольку программа gzip не умеет сохранять в одном архиве несколько файлов, то обычно ее применяют для сжатия архивов, созданных программой tar. Более того, среди опций программы tar имеется специальная опция -z, позволяющая сразу после создания сжать его с помощью программы gzip. Для выполнения такого сжатия надо использовать команду tar примерно следующим образом:
Читать дальше