- оздание архива с помощью команды tar
Без использования сжатия:
tar cvf files.tar dir/
Для использования сжатия gzip добавим ключ z, а для использования сжатия bzip воспользуемся ключом j.
tar cvzf files.tar.gz dir/
gzip и bzip2: bzip2 работает медленнее, чем gzip, однако и размер архивов при использовании bzip2 меньше.
* c – создаем новый архив
* v – выводить листинг обработанных файлов.
* f – указываем, что в качестве контейнера архива будет файл с нижеследующим именем.
* z – сжимаем архив с помощью gzip.
* j – сжимаем архив с помощью bzip2.
* x – извлекает файлы из архива.
- Извлечение файлов с помощью tar
Извлечем данные из файла *.tar, используя опции xvf:
tar xvf files.tar
Для извлечения файлов из архивов, созданных с помощью gzip или bzip, воспользуемся ключами z или j соответственно.
- Листинг содержимого в архиве
Архив без компрессии:
tar tvf files.tar
Для просмотра листинг архива с компрессией gzip или bzip необходимо добавить ключи z или j соответственно.
- Извлечем определенный файл из архива tar
Архив без компрессии:
tar -xvf files.tar /location/of/the/file
Аналогично для использования компрессии все с теми же ключами z или j.
- Извлечем определенную директорию из архива
Для того, чтобы извлечь определенную директорию (а также вложенные субдирекории и файлы) из tar-архива, при использовании команды tar необходимо указать имя извлекаемой папки.
tar -xvf container.tar /where/the/file/is
Извлечем несколько папок из архива tar:
tar -xvf files.tar /location/of/the/dir/ /location/of/the/dir2/
Как всегда используем ключи z и j для работы с архивами с компрессией:
- Регулярные выражения при работе с tar
Следующая команда извлечет из архива все файлы с расширением doc
tar -xvf files.tar --wildcards '*.doc'
где * –wildcards *.doc– маска для отбора файлов с расширением doc.
- Добавим файл или папку к уже существующему архиву с помощью ключа -r
Добавим определенный файл или папку к уже существующему архиву:
tar rvf files.tar some_our_file
Файл some_our_file будет добавлен в архив с названием files.tar. Добавление директории осуществляется схожим образом:
tar rvf files.tar some_our_dir/
У Вас не получится добавить файл или папку к архиву, созданному с применением компрессии.
- Проверим данные в архивном файле с помощью ключа -W
После создания архива не лишним будет проверить его, используя ключ W:
tar cvfW files.tar dir/
Правда как и в предыдущем случае верификация не удастся, если перед Вами архив, созданный с использованием компрессии.
Порой из tar-архивов (.tar, .tar.gz, .tar.bz2) очень больших объемов требуется извлечь далеко не все содержимое, а лишь несколько определенных файлов. В таких случаях разархивировать исходный tar целиком нецелесообразно, поскольку не только потребует заметных ресурсов (в первую очередь, это нагрузка на диск), но и может занять продолжительное время.
Разумеется, авторы tar предусмотрели возможность извлечения из архива лишь указанных объектов. Все довольно тривиально — достаточно перечислить нужные файлы в качестве аргументов tar после самого имени архива. Например:
tar -xf archive.tar myfile1 dir2/myfile2
Эта команда извлечет из архива archive.tar файлы myfile1 и dir2/myfile2. В случае со сжатым архивом все делается аналогичным образом — добавляются соответствующие ключи: «z» для .gz (gzip) и «j» для .bz2 (bzip2).
Единственной сложностью может стать указание точного названия файла/полного пути к нему в архиве. Эту проблему можно решить с помощью функции просмотра дерева файлов/каталогов, хранящихся в архиве. Например, так:
tar -tf archive.tar
