Как распаковать (разархивировать) файл 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 -xf archive.tar.gz

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

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

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

tar -xvf archive.tar.gz

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

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

tar -xf archive.tar.gz -C /home/linuxize/files

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

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

tar -xf archive.tar.gz file1 file2

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

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

tar -xf archive.tar.gz dir1 dir2

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

tar -xf archive.tar.gz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

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

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

tar -xf archive.tar.gz --wildcards '*.js'

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

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

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

wget -c https://download.blender.org/source/blender-2.80.tar.gz -O - | sudo tar -xz

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

tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now

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

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

tar -tf archive.tar.gz

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

file1file2file3

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

tar -tvf archive.tar.gz
-rw-r--r-- linuxize/users       0 2019-02-15 01:19 file1-rw-r--r-- linuxize/users       0 2019-02-15 01:19 file2-rw-r--r-- linuxize/users       0 2019-02-15 01:19 file3

Выводы

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

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

Оставьте комментарий