Введение
Вы можете легко встретить файлы с расширением .tar.gz. Пакеты с открытым исходным кодом обычно доступны для загрузки в форматах.tar.gz и.zip.
Команда tar
используется для создания tar-архивов путем преобразования группы файлов в архив. Он поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress. Изначально Tar был разработан для создания архивных файловых архивов на магнитной ленте, поэтому он и получил свое название Tape AR cipollina.
Gzip — самый популярный алгоритм сжатия tar-файлов. По соглашению имя сжатого tar-архива должно заканчиваться на .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/noviello/files
можно использовать следующую команду:
tar -xf archive.tar.gz -C /home/noviello/files
Извлечь определенный файл из архива tar.gz
Чтобы извлечь один или несколько конкретных файлов из архива tar.gz, добавьте список имен файлов, разделенных пробелами, после имени архива:
tar -xf archive.tar.gz file1 file2
При извлечении файлов вам необходимо указать точные имена, включая путь, напечатанный --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 из стандартного ввода
Если вы извлекаете сжатый файл 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
Чтобы просмотреть содержимое файла tar.gz, используйте параметр --list
( -t
):
tar -tf archive.tar.gz
Вывод будет выглядеть следующим образом:
file1
file2
file3
Если вы добавите параметр --verbose
( -v
), tar
напечатает дополнительную информацию, такую как владелец, размер файла, отметка времени и т. д.:
tar -tvf archive.tar.gz
-rw-r--r-- noviello/users 0 2019-02-15 01:19 file1
Вывод
Файл tar.gz представляет собой сжатый Gzip архив Tar. Чтобы извлечь файл tar.gz, используйте команду tar -xf
, за которой следует имя архива.