Ростелеком

Извлечь tar. Создание и распаковка архивов в Linux

TAR (ленточный архив) команда-это, часто используемая команда в Linux, которая позволяет Вам хранить файлы в архиве. Часто встречаются файлы с расширением.tar.gz и.tar.bz2, в которых tar архив сжимается с помощью gzip или bzip алгоритмов соответственно.

Использование команды tar

Команда tar работает по умолчанию в большинстве Linux-систем и Вам не нужно устанавливать его отдельно. По умолчанию есть 2 формата сжатия gzip и bzip. Буква «z» указывает параметр gzip и «j» опция указывает на bzip. Также можно создать несжатый архив.

  1. Извлечение tar.gz архива

Чаще всего используется извлечение tar архивов. Следующая команда должна извлечь файлы из tar.gz архива

$ tar -xvzf tarfile.tar.gzp

Вот краткое объяснение используемых параметров —
х — извлечение файлов
v – выводить имена файлов как они извлекаются по одному
z — это «сжатый» файл
f — использовать следующий tar архив для эксплуатации

Извлечение tar.bz2/bzip архивов

Файлы с расширением bz2 сжимаются при помощи алгоритма bzip, и tar команда может справиться с ними. Используйте j опцию вместо z опции.

$ tar -xvjf archivefile.tar.bz2

  1. Извлечь файлы в определенный каталог или путь

Чтобы извлечь файлы в определенном каталоге, необходимо указать путь с помощью «- с» вариант. Обратите внимание, что C не является разделом.

$ tar -xvzf abc.tar.gz -C /opt/folder/

Однако сначала убедитесь, что папка назначения существует, так как tar не будет создавать директорию, если ее нет.

  1. Извлечение одного файла

Чтобы извлечь один файл из архива нужно просто добавить название файла после команды так:

$ tar -xz -f abc.tar.gz "./new/abc.txt"

Больше чем один файл может быть указан в предыдущей команде так

$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"

  1. Извлечение несколько файлов, используя подстановочные знаки

Подстановочные знаки можно использовать, чтобы извлечь кучу файлов, соответствующих заданному подстановочному знаку. Например, все файлы » txt» — расширения.

$ tar -xv -f abc.tar.gz --wildcards "*.txt"

  1. Список и поиск содержимого архива tar

Если вы хотите просто перечислить содержимое архива tar, а не извлекать их, можно использовать опцию “-t”. Следующая команда распечатывает содержимое tar архива.

$ tar -tz -f abc.tar.gz ./new/ ./new/cde.txt ./new/subdir/ ./new/subdir/in.txt ./new/abc.txt ...

Используя на v- опцию можно напечатать дополнительные сведения о каждом файле.

Для tar.bz2/bzip файлов используйте «j» опцию.

$ tar -tvz -f abc.tar.gz | grep abc.txt -rw-rw-r-- enlightened/enlightened 0 2015-01-13 11:40 ./new/abc.txt

  1. Создать tar/tar.gz архив

Теперь, когда мы научились извлекать существующий архив tar, самое время, чтобы начать создавать новые. Команда tar может быть использована для того чтобы отправить выбранные файлы в архив или целый каталог. Вот несколько примеров.

Следующая команда создает tar архив с помощью каталогов, добавляя все файлы в нем и подкаталоги

$ tar -cvf abc.tar ./new/ ./new/ ./new/cde.txt ./new/abc.txt

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

Для сжатия используйте опцию «z» или «j» для gzip или bzip соответственно.

$ tar -cvzf abc.tar.gz ./new/

  1. Спрашивать подтверждение перед добавлением файлов

Полезная опция-это «w», которая заставляет tar запрашивать подтверждение для каждого файла перед добавлением их в архив. Это может быть иногда полезно.

Эти файлы будут добавлены в архив, если дается ответ «да». По умолчанию стандартным ответом будет «нет».

# Добавить конкретные файлы $ tar -czw -f abc.tar.gz ./new/* add ‘./new/abc.txt’?y add ‘./new/cde.txt’?y add ‘./new/newfile.txt’?n add ‘./new/subdir’?y add ‘./new/subdir/in.txt’?n # Теперь список файлов, добавленных $ tar -t -f abc.tar.gz ./new/abc.txt ./new/cde.txt ./new/subdir/

  1. Добавлять файлы в существующие архивы

Используя параметр r можно добавлять файлы в существующие архивы, без необходимости создавать новые. Вот быстрый пример

$ tar -rv -f abc.tar abc.txt

Файлы не могут быть добавлены в сжатые архивы (gz или bzip). Файлы могут быть добавлены в обычный архив tar.

  1. Добавлять файлы в сжатые архивы (tar.gz/tar.bz2)

Выше мы уже сказали, что файлы не могут быть добавлены в жатые архивы. Однако все же можно добавить файлы, в сжатые архивы, используя один трюк. Воспользуйтесь помощью gunzip команды, чтобы распаковать архив, добавить файл в архив и сжать его заново.

$ gunzip archive.tar.gz $ tar -rf archive.tar ./path/to/file $ gzip archive.tar

Для bzip файлов используйте bzip2 и bunzip2 команд соответственно.

  1. Резервное копирование с помощью tar

Реальный сценарий для резервного копирования каталогов через равные промежутки времени. Команда tar может планироваться на такие резервные копии с помощью cron. Вот пример —

$ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/

Выполните вышеуказанную команду через cron, и он будет продолжать создавать резервные копии файлов с именами как —

"archive-20150218.tar.gz".

  1. Проверка архивных файлов при создании

Параметр «W» может быть использован для проверки файлов после создания архива. Вот быстрый пример.

$ tar -cvW -f abc.tar ./new/ ./new/ ./new/cde.txt ./new/subdir/ ./new/subdir/in.txt ./new/newfile.txt ./new/abc.txt Verify ./new/ Verify ./new/cde.txt Verify ./new/subdir/ Verify ./new/subdir/in.txt Verify./new/newfile.txt Verify ./new/abc.txt

Обратите внимание, что проверка не может быть проведена в сжатых архивах. Он работает только с несжатыми tar архивами.

Большая часть файлов для Linux, которые скачиваются из Интернета, заархивированы в форматах tar, tar.gz, tar.bz2 и важно знать как их вытянуть. В этой статье показывается, как извлечь (распаковать) и разархивировать (untar) файлы и папки из картотек tar, tar.gz и tar.bz2 из командной строки в Linux. Также Вы узнаете, как просмотреть содержимое tar архива не распаковывая его и как вытянуть только отдельный файл или отдельно взятую папку. Сам по себе tar не является архиватором в обыкновенном понимании этого слова, т.к. он самостоятельно не использует сжатие.

Tar — более распространенный архиватор, используемый в Linux-системах.

После этого полученный файл *.tar сжимается программой, например, gzip. Вот почему архивы обычно имеют расширение.tar.gz или.tar.bz2 (для архиваторов gzip и bzip2 сообразно) При большом размере файла бэкапа не всегда есть необходимость разархивировать все файлы, достаточно достаточно всего одного файла или папки.

В варианте с Linux VPS на базе OpenVZ и Xen для работы с архивами достаточно базовых компонентов системы, а только Tar, Gzip и Bzip2, которые при создании сжатого архива работают как единое целое, т.к. сам по себя архиватор Tar не предусматривает возможность сжатия данных. Для этой цели как раз и используется Gzip или Bzip2. Картотеки, созданные с применением Gzip, обычно имеют расширение.tar.gz, а при использовании Bzip2 - .tar.bz2.

В то же время, многие архиваторы (пример, Gzip или bzip2) не умеют сжимать несколько файлов, а работают только с одним файлом или входным потоком. Потому чаще всего эти программы используются вместе. tar создает несжатый архив, в который вмещаются выбранные файлы и каталоги, при этом сохраняя некоторые их атрибуты (такие как права доступа).

Дабы распаковать tar.gz архив в текущую директорию нужно выполнить команду:

tar -xvzf archive.tar.gz

x — дозволяет вам извлекать файлы из архива.
v — делает вывод tar подробным. Это означает, что на экран будут выведены все выисканные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, станет ограничена.
f — является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла картотеки.
z — позволяет вам обрабатывать архив, сжатый gzip’ом (с расширением.gz). Если вы забудете указать эту функцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.

Для tar вовсе не непременен знак!

Распаковать tar файл:

tar -xvf foo.tar

Распаковать и разархивировать tar.gz файл:

tar -xvzf foo.tar.gz

Распаковать и разархивировать tar.bz2 файл:

tar -xvjf foo.tar.bz2

Творение tar-архива без сжатия в Linux

Для создания такого архива используется команда:

tar -cf filename.tar file1 file2 fileN

Метеопараметр -cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов смогут быть указаны и директории.

Создание архива с использованием сжатия в Linux

Поскольку для стягивания доступны как минимум два метода, для использования каждого из них используется отдельный набор параметров.

Образчик сжатия Gzip:

tar -cvzf filename.tar.gz dir_name

В данном случае мы попытались запаковать папку dir_name в картотека filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса творения архива с указанием упакованных файлов или папок.

Просмотр содержимого архива без распаковки в Linux

Для данных целей используется следующая команда:

tar -tf filename.tar.gz

В результате выполнения команды выведется перечень файлов и папок, хранящихся в архиве. Если в перечень параметров добавить -v, то получится наращенный вывод информации о содержимом с указанием размера файлов, прав доступа, именами собственников и их групп, и т.п.

Прочие возможности tar в Linux

tar предоставляет множество полезных возможностей. Например, возможно указать файлы и каталоги, которые не будут включены в архив, добавить файлы (именованная область данных на носителе информации ) в имеющийся архив (1) учреждение или структурное подразделение организации, осуществляющее хранение, комплектование, учёт и использование архивных документов; 2) собрание письменных памятников (рукописей, писем и т ), взять список объектов для запаковки из текстового файла и много что ещё. Во всем обилии опций как всегда поможет разобраться

Утилита командной строки tar используется для службы с архивами в операционных системах на базе UNIX. С ее помощью можно архивировать данные и улучшить использование дискового пространства.

Видео по теме: Как в Linux распаковать tar gz?

В новой версии отмечена значительная оптимизация производительности оконного менеджера, адаптация интерфейса для мобильных устройств, более плотное задействование системы семантических связей Nepomuk в инфраструктуре поиска, уход от использования уровня абстракции HAL при работе с оборудованием и переработка концепции "activities" (в русской локализации "комнаты"). Релиз KDE Software Compilation 4.6 состоит из трёх составных частей: базовой платформы, набора дополнительных приложений и дескто...

Объявление релиза ОС Kali Linux Компания Offensive Security отрекомендовала новый дистрибутив для исследования безопасности систем - Kali Linux, приползший на смену ранее развиваемому проекту BackTrack Linux и выданный вместо ожидаемого релиза BackTrack 6. По улаживаемым задачам Kali Linux идентичен BackTrack Linux и вдобавок предназначен для проведения тестирования систем на предмет присутствия уязвимостей, проведения аудита, анализа остаточной данных и выявления последствий атак злоумышленник...

Навигация по записям

Рубрика

Tar - один из наиболее распространённых архиваторов в Linux системах. Но tar не сжимает файлы в архиве. Tar всего лишь упаковывает файлы в архив без компрессии. Для сжатия tar умеет работать в паре с bzip2 или gzip. В статье приведено описание способов применения tar.

Создать архив из папки

Чтобы создать архив tar с gzip сжатием, введите следующую команду:

tar -zcf /root/files.tar.gz /home/folder/

Разберём пример по частям. Команда tar запускается с ключами:

z - Архивирует с gzip компрессией. Чтобы использовать bzip2, надо заменить ключ "z " на "j ".
c - Создаёт архив. Без этого ключа архив не создастся.
f - Без этого ключа архив не создастся. Как гласит документация: "без ключа f tar будет выдавать результат на stdout при упаковке и пытаться читать архив с stdin при распаковке"

После ключей указывается путь к файлу создаваемого архива с его названием: /root/files.tar.gz . Если указать относительный путь, то файл создастся в той папке, где открыт терминал.

В самом конце команды передаётся директория, которую надо архивировать /home/folder/ . В примере стоит абсолютный путь к этой папке. В таком случае в архиве tar будет находится все родительские папки т.е. при открытии архива там будет папка /home/ и внутри неё папка /folder/ . Но если абсолютный путь заменить относительным, то будет только /folder/ .

Разархивировать

Чтобы распаковать архив, перейдите в папку с ним и введите:

tar -xf files.tar.gz

Файлы будут распакованы в ту же папку, где находится архив.

Ключ x указывает на распаковку архива. Ключ f обязателен, как и при создании архива.

Если требуется распакавать архив в определённую папку, то путь к ней можно указать после ключа C :

tar -xf files.tar.gz -C /home/folder/

Исключить папки из архива

Иногда возникает задача в исключении некоторых подпапок из архива. К примеру, если надо создать архив из папки /home/, но в него не должны попасть содержания папок /cache/ и /trash/ . Тогда необходимо использовать ключ exclude:

tar -zcf /root/files.tar.gz /home/ --exclude={"*/cache/ *","*/trash/ *"}

В конце значений explude, у папок, нет слеша "/". Если слеша не будет, то удалится не содержимое папки, а вся папка.

Звёздочки в названии папок стоят, чтобы не указывать полный путь к папкам. При выполнении такой команды в архив не попадут файлы из папок.

В качестве инструмента для архивации данных в Linux используются разные программы. Например , приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux - встроенный архиватор.

Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip ). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

Для его распаковки:

tar опции архив.tar

Функции, которые может выполнять команда:

При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:

Как пользоваться tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1 , file2 и file3 :

tar --totals --create --verbose --file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar --totals -cvf archive.tar file1 file2 file3

2. Просмотр содержимого архива

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

tar -xvf archive.tar

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C :

tar -C "Test" -xvf archive.tar

3. Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip . Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz . Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C "Test" -xjvf arhive.tar.bz2

tar -xzvf archive.tar.gz

На заметку: архиватор tar - одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip .

Добрый день!

Сначала кратко и по делу - только основная информация, за которой вы и пришли. Во второй части статьи я расскажу о полезных нюансах, без которых можно и обойтись.

Как распаковать архив tar:

В Windows:

В Linux/Unix системах:

1. С помощью MC (Midnight Commander - популярный файл-менеджер для Linux систем, есть в любом репозитарии) - просто зайдите в tar-файл, как в папку и скопируйте оттуда содержимое.

2. Из консоли с помощью команд:

tar -xvf archive-file . tar

tar - xvf archive-file . tar . gz

tar -xvf archive-file.tar.bz2

tar -xvf archive-file . tar -C /папка_для_распаковки

Расшифровка: x - ключ, показывающий, что требуется распаковать архив; v - включает визуально отображение процесса распаковки; f - ключ, после которого указываем имя файла для распаковки; C - можно (но не обязательно) указать путь для распаковки. Если путь не указан - распаковка будет произведена в текущую папку.

Как создать tar:

В Linux/Unix системах:

tar -cf files . tar ./папка_с_файлами - создать простой архив tar без сжатия

tar - cvzf files . tar . gz . /папка_с_файлами - создать архив tar, сжатый с помощью gzip

tar -cvjf files.tar.bz ./папка_с_файлами - создать архив tar, сжатый с помощью bzip2

Ключи: c - создать архив; f - указать название файла; z - использовать сжатие gzip (самое популярное); j - использовать сжатие bzip2; v - включает визуально отображение процесса распаковки;

В Windows:

1. Нажмите правой кнопкой мыши на папке или выделенных файлах, выберите в меню "7-Zip" -> "Добавить к архиву...":

2. Выберите формат архива - tar, при необходимости измените название архива и другие настройки и нажмите "Ок":

Полезное об архиваторе Tar:

Tar - основной архиватор для Linux и Unix систем. Если вы делаете архив для такой системы, лучше используйте tar. Zip тут, хоть и поддерживается, но работает в разы медленнее и не используется многими системами.

Если при создании архива tar применяются средства сжатия, принято указывать их в имени файла. Например: files.tar.gz - архив tar, при создании которого применено сжатие gzip, files.tar.bz2 - архив tar с использованием сжатия bzip2.

Если у вас остались вопросы или нужны уточнения - пожалуйста, задайте вопрос или оставьте комментарий.

Я всегда рад помочь!