Как распаковать файл tar linux

Как распаковать (разархивировать) файл Tar Gz

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

Команда tar используется для создания архивов tar путем преобразования группы файлов в архив. Он поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress. Изначально Tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому он получил название « T ape AR chive».

Gzip — самый популярный алгоритм сжатия файлов tar. По соглашению имя tar-архива, сжатого с помощью gzip, должно заканчиваться на .tar.gz или .tgz .

Короче говоря, файл с расширением .tar.gz представляет собой архив .tar, сжатый с помощью gzip.

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

В этом руководстве мы покажем вам, как распаковать (или распаковать) архивы tar.gz и tgz .

Извлечение файла tar.gz

В большинстве дистрибутивов Linux и macOS по умолчанию предустановлена команда tar .

Чтобы извлечь файл tar.gz, используйте параметр —extract ( -x ) и укажите имя файла архива после параметра f :

Команда tar автоматически определит тип сжатия и распакует архив. Эту же команду можно использовать для извлечения архивов tar, сжатых с помощью других алгоритмов, таких как .tar.bz2 .

Если вы пользователь рабочего стола и командная строка вам не подходит, вы можете использовать файловый менеджер. Чтобы распаковать (разархивировать) файл tar.gz, просто щелкните правой кнопкой мыши файл, который вы хотите извлечь, и выберите «Извлечь». Пользователям Windows потребуется инструмент под названием 7zip для извлечения файлов tar.gz.

Параметр -v сделает команду tar более видимой и напечатает имена файлов, извлекаемых на терминале.

По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Используйте —directory ( -C ) для извлечения архивных файлов в определенный каталог:

Например, чтобы извлечь содержимое архива в /home/linuxize/files , вы можете использовать:

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

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

При извлечении файлов вы должны —list их точные имена, включая путь, как напечатано с помощью —list ( -t ).

Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:

Если вы попытаетесь извлечь несуществующий файл, отобразится сообщение об ошибке, подобное следующему:

Вы также можете извлекать файлы из файла tar.gz на основе шаблона с подстановочными знаками, используя параметр —wildcards и цитируя шаблон, чтобы оболочка не интерпретировала его.

Читайте также:  Xbox console companion windows 10 что это

Например, чтобы извлечь файлы, имена которых заканчиваются на .js (файлы Javascript), вы должны использовать:

Извлечение файла tar.gz из stdin

Если вы распаковываете сжатый файл tar.gz, читая архив со стандартного ввода (обычно через канал), вам необходимо указать параметр распаковки. Параметр, который указывает tar читать архивы через gzip, — это -z .

В следующем примере мы загружаем исходники Blender с помощью команды wget и передаем его вывод в команду tar :

Если вы не укажете вариант декомпрессии, tar укажет, какой вариант вам следует использовать:

Вывод файла tar.gz

Чтобы —list список содержимого файла tar.gz, используйте параметр —list ( -t ):

Результат будет выглядеть примерно так:

Если вы добавите параметр —verbose ( -v ), tar выведет дополнительную информацию, такую как владелец, размер файла, временная метка и т. Д.

Выводы

Файл tar.gz представляет собой архив Tar, сжатый с помощью Gzip. Чтобы извлечь файл tar.gz, используйте команду tar -xf за которой следует имя архива.

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

Источник

Как распаковать (разархивировать) файл tar.xz

Команда tar позволяет создавать и извлекать архивы tar. Он поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress.

Xz — популярный алгоритм сжатия файлов на основе алгоритма LZMA. По соглашению имя tar-архива, сжатого с помощью xz, оканчивается на .tar.xz или .txz .

В этой статье объясняется, как использовать команду tar для извлечения (или распаковки) архивов .tar.xz или .txz .

Извлечение файла tar.xz

Утилита tar предустановлена по умолчанию во всех дистрибутивах Linux и macOS.

Чтобы извлечь файл tar.xz, вызовите команду tar с параметром —extract ( -x ) и укажите имя файла архива после параметра -f :

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

Если командная строка вам не нравится, вы можете использовать файловый менеджер графического интерфейса. Чтобы распаковать (разархивировать) файл tar.xz, просто щелкните правой кнопкой мыши файл, который хотите извлечь, и выберите «Извлечь». Пользователям Windows необходим инструмент под названием 7zip для извлечения файлов tar.xz.

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

По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Чтобы извлечь архивные файлы в определенный каталог, используйте —directory ( -C ).

В следующем примере показано, как извлечь содержимое архива в /home/linuxize/files :

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

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

При извлечении файлов вы должны указать их точные имена, включая путь, как они печатаются при вызове tar с параметром —list ( -t ).

Извлечение одного или нескольких каталогов из архива аналогично извлечению нескольких файлов:

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

Параметр —wildcards позволяет извлекать файлы из файла tar.xz на основе шаблона подстановки. Шаблон должен быть заключен в кавычки, чтобы оболочка не могла его интерпретировать.

Читайте также:  Linux подключить расшаренный принтер linux

Например, чтобы извлечь только файлы, имена которых заканчиваются на .png , вы должны использовать:

Извлечение файла tar.xz из stdin

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

В приведенном ниже примере мы загружаем ядро Linux с помощью команды wget и перенаправляем его вывод в команду tar :

Если вы не укажете вариант декомпрессии, tar покажет вам, какой вариант вам следует использовать:

Листинг содержимого файла tar.xz

Чтобы вывести список содержимого файла tar.xz, используйте параметр —list ( -t ):

Результат будет выглядеть примерно так:

Если вы добавите параметр —verbose ( -v ), tar выведет дополнительную информацию, такую как владелец, размер файла, временная метка и т. Д.

Выводы

Файл tar.xz представляет собой архив Tar, сжатый с помощью xz. Чтобы извлечь файл tar.xz, используйте команду tar -xf , за которой следует имя архива.

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

Источник

Использование tar в Linux и FreeBSD для работы с архивами

Утилита командной строки 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:

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

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

Также можно исключить несколько файлов или папок, добавляя несколько опций exclude:

Читайте также:  Среда разработки javascript для windows

tar —exclude=’/data/recycle’ —exclude=’*.tmp’ zcf /backup/samba/2021-08-29.tar.gz /data/

* в данном примере мы исключим папку recycle и файлы, которые заканчиваются на .tmp

Работа с архивами, разбитыми на части

Разбить архив на части может понадобиться по разным причинам — нехватка места на носителе, необходимость отправки файлов по почте и так далее.

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

tar -zcvf — /root | split -b 100M — root_home.tar.gz

* данная команда создаст архив каталога /root и разобьет его на части по 100 Мб.

В итоге мы получим, примерно, такую картину:

root_home.tar.gzaa root_home.tar.gzac root_home.tar.gzae
root_home.tar.gzag root_home.tar.gzai root_home.tar.gzab
root_home.tar.gzad root_home.tar.gzaf root_home.tar.gzah

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

cat root_home.tar.gz* | tar -zxv

Описание ключей 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.

Источник

Оцените статью