Как разархивировать файл Tar.gz в Linux

Фотография библиотеки с компьютерными рабочими местами.

Tar.gz — один из самых распространенных форматов сжатия файлов в Linux на сегодняшний день. В отличие от ZIP, RAR и 7ZIP, это комбинация двух различных форматов файлов: TAR и GZIP. Этот учебник показывает, как разархивировать файл tar.gz с помощью графических и командных инструментов, которые уже являются частью вашего дистрибутива Linux.

Содержание

  • Что такое Tar.gz?
  • Разархивирование файлов Tar.gz с помощью файлового менеджера
  • Разархивирование файлов Tar.gz с помощью командной строки
  • Разархивирование файлов Tar.gz с помощью Xarchiver
  • Разархивирование файлов Tar.gz с помощью Unpack
  • Часто задаваемые вопросы

Что такое Tar.gz?

Файл tar.gz — это комбинация tar и gzip. Первый кодирует ваш файл в последовательном архивном формате, подходящем для магнитных лент, в то время как второй сжимает его до меньшего размера.

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

Кроме того, gzip — это формат, который так же стар, как и сам Интернет, поэтому инструменты, которые могут сжимать и разжимать файлы tar.gz, широко доступны для почти всех платформ.

Разархивирование файлов Tar.gz с помощью файлового менеджера

Большинство, если не все, файловые менеджеры Linux могут разархивировать файл tar.gz. Например, файловый менеджер Nautilus в Ubuntu может разархивировать tar.gz через контекстное меню.

  1. Откройте файловый менеджер в Linux.

  2. Перейдите в папку, содержащую ваш архив tar.gz.

Окно, показывающее один архив tar.gz.

  1. Щелкните правой кнопкой мыши на вашем архиве и выберите “Извлечь в”.

Скриншот, подчеркивающий опцию

  1. Выберите каталог, в который хотите сохранить извлеченные файлы. Нажмите “Выбрать”.

Окно, показывающее место, где вы можете разархивировать файл tar.gz.

Совет: хотя Gzip — отличный инструмент, он далеко не единственный, который может выполнять сжатие в Linux. Узнайте больше о лучших инструментах сжатия в Linux сегодня.

Разархивирование файлов Tar.gz с помощью командной строки

  1. Откройте терминал и перейдите в каталог, содержащий ваш файл tar.gz.

Терминал, показывающий содержимое каталога Загрузки.

  1. Разархивируйте ваш файл tar.gz с помощью команды tar:
tar-xzvf maketecheasier.tar.gz

Терминал, показывающий процесс разархивирования с помощью tar.

Вы также можете указать tar извлечь ваш архив в другой каталог. Например, следующая команда разархивирует мой файл “maketecheasier.tar.gz” в мою папку “Документы”:

tar-xzvf maketecheasier.tar.gz -C/home/$USER/Documents

Терминал, показывающий содержимое папки Документы после разархивирования.

Разархивирование файлов Tar.gz с помощью Xarchiver

Хотя файловый менеджер в большинстве дистрибутивов может работать с tar.gz, есть случаи, когда вам нужен более мощный инструмент для выполнения этой задачи. Xarchiver — это высоко гибкая графическая программа, которая может разархивировать архивы и переносимые форматы пакетов в Linux.

  1. Установите Xarchiver в Debian и Ubuntu, выполнив следующую команду:
sudo apt install xarchiver

Терминал, показывающий процесс установки Xarchiver.

  1. Запустите “Xarchiver.” Нажмите “Архив”, затем “Открыть.”

Скриншот, показывающий кнопку

  1. Перейдите к вашему файлу tar.gz и нажмите “Открыть.”

Скриншот, показывающий диалог выбора файла для Xarchiver.

  1. Нажмите “Действие”, затем “Извлечь.”

Скриншот, показывающий опцию

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

Скриншот окна

  1. Установите флажок “Touch files”. Это скажет Xarchiver разархивировать содержимое вашего архива, независимо от файлов в каталоге назначения.

Скриншот, подчеркивающий опцию

  1. Нажмите кнопку “Извлечь”, чтобы разархивировать ваш файл tar.gz.

Скриншот, подчеркивающий кнопку

Разархивирование файлов Tar.gz с помощью Unpack

Unpack — это простой сторонний скрипт-обертка Bash, который позволяет вам разархивировать почти любой тип современного формата архива в Linux. В отличие от tar и Xarchiver, он нацелен на то, чтобы быть простым решением с одной командой для извлечения файлов Tar.gz.

  1. Чтобы начать установку Unpack, клонируйте скрипт Unpack из репозитория Git автора:
git clone https://github.com/githaff/unpack.git

Терминал, показывающий процесс клонирования исходника Unpack.

  1. Создайте папку “bin” в домашнем каталоге вашего пользователя:
mkdir/home/$USER/bin
  1. Скопируйте скрипт Unpack в вашу новую папку “bin”:
cp/home/$USER/unpack/unpack /home/$USER/bin/
  1. Включите бит выполнения для вашего нового скрипта Unpack:
chmod u+x,go-x /home/$USER/bin/unpack

Терминал, показывающий правильные разрешения для Unpack.

  1. Используйте unpack для разархивирования вашего файла tar.gz. Например, выполнение следующей команды извлечет файл “maketecheasier.tar.gz” в мою папку “Загрузки”:
unpack /home/$USER/Downloads/maketecheasier.tar.gz

Терминал, показывающий содержимое файла Tar.gz.

Полезно знать: вы можете сэкономить больше места на диске в Linux, включив TRIM для вашего SSD во время сжатия ваших архивных файлов.

Часто задаваемые вопросы

Можно ли извлечь файл tar.gz в macOS и Windows?

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

Чтобы разархивировать файл tar.gz в Windows, вы можете либо скачать утилиту архивирования 7zip, либо установить Linux через WSL.

Можно ли извлечь несколько файлов tar.gz одновременно?

Вы можете разархивировать несколько архивов tar.gz в одной папке, запустив цикл Bash внутри вашего каталога архива: for i in $(ls); do tar -xvzf $i ; done. Вы также можете использовать инструмент Multi-Extract Xarchiver для извлечения нескольких файлов tar.gz.

Может ли Xarchiver выборочно извлекать файлы tar.gz вместо их перезаписи?

Да. Снимите флажок “Touch files” в диалоговом окне Извлечь файлы, затем включите либо опцию “Обновить существующие файлы”, либо флажок “Обновить только существующие файлы”.

Фото: Unsplash. Все изменения и скриншоты сделаны Рамсесом Редом.