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

Распаковать 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 -xf archive.tar.xz

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

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

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

 tar -xvf archive.tar.xz

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

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

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

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

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

 tar -xf archive.tar.xz file1 file2

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

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

 tar -xf archive.tar.xz dir1 dir2

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

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

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

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

 tar -xf archive.tar.xz --wildcards '*.png'

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

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

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

 wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj

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

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

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

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

 tar -tf archive.tar.xz

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

 file1 file2 file3

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

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

Заключение

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

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

терминал тары

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *