
Если вы используете программное обеспечение с открытым исходным кодом, скорее всего, вы регулярно сталкиваетесь с файлами .tar.gz .
Пакеты с открытым исходным кодом часто распространяются в форматах .tar.gz и .zip.
Архивы Tar, часто называемые тарболлами, создаются путём преобразования группы файлов в архив. Эти архивы в основном используются для резервного копирования или распространения программного обеспечения. В системах Linux и Unix архивы Tar можно создавать с помощью команды tar . Tar поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress. Изначально tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому он и называется « Tape AR chive».
Gzip — самый популярный алгоритм сжатия tar-файлов. По соглашению, имя tar-архива, сжатого с помощью gzip, должно заканчиваться на .tar.gz или .tgz .
Короче говоря, файл, заканчивающийся на .tar.gz, представляет собой архив .tar , сжатый с помощью gzip.
Помимо создания новых архивов, команду tar можно использовать и для различных других операций, включая извлечение архивов tar, отображение списка файлов, включенных в архив, и добавление дополнительных файлов в существующий архив.
В этой статье вы узнаете, как извлекать (или распаковывать) архивы tar.gz и tgz .
Извлечение файла tar.gz
Команда tar предустановлена по умолчанию в большинстве дистрибутивов Linux и macOS.
Чтобы извлечь файл tar.gz, используйте опцию --extract ( -x ) и укажите имя файла архива после опции f :
tar -xf archive.tar.gz
Команда tar автоматически определит тип сжатия и распакует архив. Эту же команду можно использовать для распаковки tar-архивов, сжатых другими алгоритмами, например, .tar.bz2 .
Опция -v делает команду tar более заметной и выводит имена извлекаемых файлов на терминал.
tar -xvf archive.tar.gz
По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Используйте параметр --directory ( -C ), чтобы указать каталог, в который нужно распаковать архив.
Например, чтобы извлечь содержимое архива в каталог /home/linuxize/files , вы можете использовать следующую команду:
tar -xf archive.tar.gz -C /home/linuxize/files
Если вы пользователь настольного компьютера и предпочитаете не использовать интерфейс командной строки, вы можете воспользоваться файловым менеджером. Чтобы извлечь (распаковать) файл tar.gz, щёлкните правой кнопкой мыши по нужному файлу и выберите «Извлечь».
На компьютерах с ОС Windows для извлечения файлов tar.gz можно использовать программный инструмент под названием 7zip .
Извлечение определенных файлов из файла tar.gz
Чтобы извлечь определенные файлы из архива tar.gz, включите список имен файлов, разделенных пробелами, после имени архива:
tar -xf archive.tar.gz file1 file2
При извлечении файлов необходимо указать их точные имена вместе с путем, как указано в tar --list ( tar -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-4.0.2.tar.xz -O - | sudo tar -xz
Если вы не укажете параметр распаковки, tar укажет, какой параметр следует использовать:
tar: Archive is compressed. Use -z option tar: Error is not recoverable: exiting now
Листинг файла tar.gz
Чтобы вывести список содержимого файла tar.gz, вызовите команду tar с опцией --list ( -t ):
tar -tf archive.tar.gz
Вывод будет выглядеть примерно так:
file1file2file3
Если добавить опцию --verbose ( -v ), tar выведет дополнительную информацию, такую как права доступа к файлу, владелец, размер и временную метку.
tar -tvf archive.tar.gz
-rw-r--r-- linuxize/users 0 2023-12-15 01:19 file1-rw-r--r-- linuxize/users 0 2023-12-15 01:19 file2-rw-r--r-- linuxize/users 0 2023-12-15 01:19 file3
Заключение
Файл tar.gz — это архив Tar , сжатый с помощью Gzip. Чтобы извлечь файл tar.gz, используйте команду tar -xf указав после неё имя архива.
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Связанные руководства