Crmgo Блог

tar на примерах

tar на примерах

оздание архива с помощью команды tar Без использования сжатия: tar cvf files.tar dir/ Для использования сжатия gzip добавим ключ z, а для использования сжатия bzip воспользуемся ключом j. tar cvzf files.tar.gz dir/ gzip и bzip2: bzip2 работает медленнее, чем gzip,…

tar на примерах
    1. оздание архива с помощью команды 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 – извлекает файлы из архива.

    1. Извлечение файлов с помощью tar

Извлечем данные из файла *.tar, используя опции xvf:
tar xvf files.tar

Для извлечения файлов из архивов, созданных с помощью gzip или bzip, воспользуемся ключами z или j соответственно.

    1. Листинг содержимого в архиве

Архив без компрессии:
tar tvf files.tar
Для просмотра листинг архива с компрессией gzip или bzip необходимо добавить ключи z или j соответственно.

    1. Извлечем определенный файл из архива tar

Архив без компрессии:
tar -xvf files.tar /location/of/the/file
Аналогично для использования компрессии все с теми же ключами z или j.

    1. Извлечем определенную директорию из архива

Для того, чтобы извлечь определенную директорию (а также вложенные субдирекории и файлы) из 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 для работы с архивами с компрессией:

    1. Регулярные выражения при работе с tar

Следующая команда извлечет из архива все файлы с расширением doc
tar -xvf files.tar --wildcards '*.doc'
где * –wildcards *.doc– маска для отбора файлов с расширением doc.

    1. Добавим файл или папку к уже существующему архиву с помощью ключа -r

Добавим определенный файл или папку к уже существующему архиву:
tar rvf files.tar some_our_file
Файл some_our_file будет добавлен в архив с названием files.tar. Добавление директории осуществляется схожим образом:
tar rvf files.tar some_our_dir/
У Вас не получится добавить файл или папку к архиву, созданному с применением компрессии.

    1. Проверим данные в архивном файле с помощью ключа -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

Примечание: материал мог быть создан с помощью ИИ и затем отредактирован человеком. Ответственный: Dmytro Lomaka, Kaltenkirchen.

Рубрики: tar