Распаковка архива tar gz в linux

Стандартным типом данных файловых систем в ОС Linux считается TAR.GZ — обычный архив, сжатый с помощью утилиты Gzip. В таких директориях часто распространяются различные программы и списки папок, объектов, что позволяет совершать удобное перемещение между устройствами. Распаковывается такой тип файлов тоже достаточно просто, для этого нужно воспользоваться стандартной встроенной утилитой «Терминала». Об этом и пойдет речь в нашей сегодняшней статье.

Распаковываем архивы формата TAR.GZ в Linux

В самой процедуре распаковки нет ничего сложного, пользователю потребуется только узнать одну команду и несколько связанных с ней аргументов. Инсталляция дополнительных инструментов при этом не требуется. Процесс выполнения поставленной задачи во всех дистрибутивах одинаков, мы же взяли за пример последнюю версию Ubuntu и предлагаем вам пошагово разобраться с интересующим вопросом.

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

Запустите «Терминал» любым удобным методом, например, зажав горячую клавишу Ctrl + Alt + T или воспользовавшись соответствующим значком в меню.

После открытия консоли сразу же переходите в родительскую папку путем ввода команды cd /home/user/folder , где user — имя пользователя, а folder — название директории. Следует также знать, что команда cd как раз и отвечает за перемещение в определенное место. Запомните это, чтобы в дальнейшем упростить взаимодействие с командной строкой в Linux.

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

Начинается распаковка в место, где вы находитесь, путем указания команды tar -xvzf archive.tar.gz .

Длительность осуществления процедуры иногда занимает достаточно большое количество времени, что зависит от числа файлов внутри самого архива и их объема. Поэтому дожидайтесь появления новой строки ввода и до этого момента не закрывайте «Терминал».

Однако не всегда юзеру требуется вытаскивать все файлы из архива, из-за чего важно упомянуть, что рассматриваемая утилита поддерживает разархивацию и одного конкретного объекта. Для этого используется команда tar -xzvf Archive.tar.gz file.txt , где file.txt — имя файла и его формат.

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

Касается такой процесс и отдельных директорий. Вытаскиваются они с помощью tar -xzvf Archive.tar.gz db , где db — точное название папки.

Если же требуется вытащить папку из директории, которая хранится в архиве, используемая команда выглядит следующим образом: tar -xzvf Archive.tar.gz db/folder , где db/folder — необходимый путь и указанная папка.

Читайте также  Программа для восстановления старых фото

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

Как вы могли заметить, при вводе каждой стандартной команды tar мы использовали одновременно несколько аргументов. Вам нужно знать значение каждого из них хотя бы потому, что это поможет лучше понимать алгоритм распаковки в последовательность действий утилиты. Запомнить потребуется такие аргументы:

  • -x — извлечение файлов из архива;
  • -f — указывание имени архива;
  • -z — проведение выполнения разархивации через Gzip (необходимо вводить, поскольку форматов TAR существует несколько, например, TAR.BZ или просто TAR (архив без сжатия));
  • -v — отображение списка обрабатываемых файлов на экране;
  • -t — показ содержимого.

Сегодня наше внимание было сосредоточено конкретно на распаковке рассмотренного типа файлов. Мы показали как проводится просмотр содержимого, вытаскивание одного объекта или директории. Если же вас интересует процедура установки программ, хранящихся в TAR.GZ, вам поможет другая наша статья, которую вы найдете, перейдя по следующей ссылке.

Отблагодарите автора, поделитесь статьей в социальных сетях.

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

Создание и распаковка архивов

Создать

Создание выполняется с ключом c. Синтаксис следующий:

tar -czvf archive.tar.gz /home/dmosk

* в данном примере будет создан архив archive.tar.gz домашней директории пользователя (/home/dmosk)
** где z — сжать архив в gzip (без этого параметра, tar не сжимает, а создает так называемый тарбол); c — ключ на создание архива; v — verbose режим, то есть с выводом на экран процесса (очень удобно для наблюдением за ходом работы, но в скриптах можно упустить); f — использовать файл (обязательно указываем, так как в большей степени работаем именно с файлами).

Распаковать

Распаковка выполняется с ключом x с синтаксисом:

tar -xvf archive.tar.gz

Примеры

Распаковка .gz файла:

tar -xvf archive.tar.gz

* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

Распаковывается, как gzip:

tar -xvzf archive.tgz

Распаковать в определенную папку

tar -C /home/user -xvf archive.tar.gz

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

Распаковка без вложенной папки

Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:

tar -C /home/admin/mytar -xvf admin.tar.gz —strip-components 1

* каталог /home/admin/mytar заранее должен быть создан; —strip-components 1 пропустит одну вложенную папку внутри архива.

Исключение файлов по маске

Если необходимо пропустить некоторые файлы, вводим команду с ключом —exclude:

Читайте также  Портативная колонка jbl со светомузыкой

tar -czvf archive.tar.gz /wwwsite —exclude=’sess_*’

* в данном примере мы создадим архив archive.tar.gz, в котором не будет файлов, начинающихся на sess_.

Описание ключей tar

Команды для действия

Ключ Описание
-A Добавление файлов в архив.
-c Создание нового архивного файла.
-d Показать отличающиеся данные между каталогом-исходником и содержимым архива.
—delete Удалить файлы внутри архива.
-r Добавить файлы в конец архива.
-t Показать содержимое архива.
-u Добавить файлы, которых нет в архиве.
-x Извлечь файлы из архива.

* нельзя использовать несколько вышеперечисленных ключей в одной команде.

Дополнительные опции

Ключ Описание
—atime-preserve Оставить прежнюю метку времени доступа для файла.
-b N Задать размер блока N x 512.
-C Смена каталога. По умолчанию, используется тот, в котором мы находимся.
—checkpoint Показать имена папок при чтении архивного файла.
-G Использование старого формата инкрементального резервирования при отображении или извлечения.
-g Использование нового формата инкрементального резервирования при отображении или извлечения.
-h Не дублировать символьные ссылки. Только файлы, на которые указывают эти симлинки.
-i Игнорировать блоки нулей.
-j Использование bzip2.
—ignore-failed-read Игнорировать не читаемые файлы.
-k При распаковке, существующие файлы не заменяются соответствующими файлами из архива.
-L N Смена магнитной ленты после N*1024 байт.
-m При извлечении игнорировать время модификации объекта.
-M Многотомные архивы.
-N DATE Сохранять только более новые файлы относительно DATE
-O Направление извлекаемого на стандартный вывод.
-p Извлечение защищенной информации.
-P Не отбрасывает начальный слэш (/) из имен.
-s Сортировка файлов при извлечении.
—preserve Аналогично -ps
—remove-files Удалить исходные файлы после добавления в архив.
—same-owner Сохранить владельца при извлечении.
—totals Вывод байт при создании архива.
-v Протоколирование действий — отображение списка объектов, над которыми происходит действие.
-V NAME Создание архива на томе с меткой NAME.
—version Показать версию tar.
-w Требовать подтверждения для каждого действия.
-W Проверка архива после записи.
—exclude FILE Исключить файл FILE.
-X FILE Исключить файлы FILE.
-Z Фильтрует архив с помощью compress.
-z Использование gzip.

* актуальный список опций можно получить командой man tar.

Tar не работает с zip-архивами. В системах UNIX для этого используем утилиты zip и unzip. Для начала, ставим нужные пакеты:

yum install zip unzip

apt-get install zip unzip

pkg install zip unzip

* соответственно, для RPM based, deb based, BSD based.

zip -r archive.zip /home/dmosk

* создает архив каталога /home/dmosk в файл archive.zip.

Windows

В системе на базе Windows встроенными средствами можно распаковать только ZIP-архивы. Для работы с разными архивами рекомендуется поставить архиватор, например 7-Zip.

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

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

Читайте также  Почему ютуб показывает только 360

Синтаксис команды tar

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

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

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

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

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

Функция Длинный
формат
Описание
-A —concatenate Присоединить существующий архив к другому
-c —create Создать новый архив
-d —diff
—delete
Проверить различие между архивами
Удалить из существующего архива файл
-r —append Присоединить файлы к концу архива
-t —list Сформировать список содержимого архива
-u —update Обновить архив более новыми файлами с тем же именем
-x —extract Извлечь файлы из архива

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

Параметр Длиннный
формат
Описание
-C dir —directory=DIR Сменить директорию перед выполнением операции на dir
-f file —file Вывести результат в файл (или на устройство) file
-j —bzip2 Перенаправить вывод в команду bzip2
-p —same-permissions Сохранить все права доступа к файлу
-v —verbose Выводить подробную информацию процесса
—totals Выводить итоговую информацию завершенного процесса
-z —gzip Перенаправить вывод в команду gzip

А дальше рассмотрим примеры того, как может применяться команда tar Linux.

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

1. Создание архива 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.

Ссылка на основную публикацию
Adblock
detector