Linux: Как извлекать и разархивировать файлы .tar.gz

Архивы формата .tar.gz (или часто используемый синоним .tgz) — это одни из самых популярных типов архивов в Linux и других UNIX-подобных операционных системах. Это сжатые архивы, которые используют утилиту tar для упаковки и gzip для сжатия. В этой статье мы рассмотрим, как разархивировать такие файлы в Linux, а также как распаковать архивы форматов tar.gz и tar.xz с помощью командной строки.

Ознакомиться с тарифами VPS хостинга можно тут

Что такое архив .tar.gz?

Архив с расширением .tar.gz представляет собой комбинацию двух инструментов:

  1. tar — это утилита для архивации, которая создает архивы, объединяя файлы в один контейнер. Расширение .tar означает "tape archive" (архив ленты).
  2. gzip — это инструмент для сжатия данных. После того как архив был создан с помощью tar, он сжимается с использованием алгоритма gzip, что и приводит к расширению .tar.gz.

Такой подход дает высокую степень сжатия и удобство в хранении и передаче больших объемов данных.


Как распаковать файл .tar.gz в Linux?

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

1. Использование команды tar

Команда для распаковки архива .tar.gz в Linux выглядит следующим образом:
tar -xvzf archive.tar.gz

Здесь:

  • x — флаг для извлечения (распаковки) файлов.
  • v — флаг для вывода списка файлов, которые извлекаются (опционально, полезен для наблюдения за процессом).
  • z — указывает на то, что архив сжат с помощью gzip.
  • f — указывает, что далее идет имя файла архива.

Пример:
tar -xvzf myfiles.tar.gz

Эта команда распакует содержимое архива myfiles.tar.gz в текущую рабочую директорию.

2. Извлечение архива в определенную директорию

Если вы хотите распаковать архив в определенную папку, можно использовать флаг -C:
tar -xvzf archive.tar.gz -C /path/to/destination/

Пример:
tar -xvzf myfiles.tar.gz -C /home/user/documents/

В этом случае все файлы из архива будут извлечены в каталог /home/user/documents/.

3. Распаковка архива без вывода информации о процессе

Если вам не нужно видеть список извлекаемых файлов, можно исключить флаг v:
tar -xzf archive.tar.gz

Эта команда выполнит извлечение без вывода информации в консоль.

4. Проверка содержимого архива перед распаковкой

Если вы хотите сначала увидеть, что находится в архиве .tar.gz, но не хотите его распаковывать, используйте команду t для отображения списка содержимого:
tar -tzf archive.tar.gz

Это покажет все файлы и каталоги, содержащиеся в архиве, без их извлечения.


Что делать, если архив .tar.gz поврежден?

Иногда, при передаче или скачивании, архив может повредиться, что приведет к ошибкам при его извлечении. В таком случае первым шагом стоит проверить целостность архива с помощью команды gzip:
gzip -t archive.tar.gz

Если архив поврежден, вам нужно будет перезагрузить или переотправить файл, так как gzip не сможет распаковать поврежденный архив.


Как распаковать архив .tar.xz в Linux?

В случае архивов с расширением .tar.xz процесс разархивирования схож, но с использованием другой утилиты для сжатия — xz.

Для распаковки архивов tar.xz используйте команду:
tar -xvJf archive.tar.xz

Здесь:

  • x — извлечение.
  • v — вывод информации о процессе.
  • J — указывает на использование xz для сжатия.
  • f — указывает на файл архива.

Пример:
tar -xvJf myfiles.tar.xz

Эта команда извлечет файлы из архива myfiles.tar.xz.


Как архивировать файлы в формат .tar.gz?

Если вам нужно создать архив в формате .tar.gz, используйте команду tar с флагами -czf:
tar -czf archive.tar.gz /path/to/files/

Здесь:

  • c — создание нового архива.
  • z — сжатие с помощью gzip.
  • f — имя архива.

Пример:
tar -czf backup.tar.gz /home/user/documents/

Эта команда создаст архив backup.tar.gz с содержимым каталога /home/user/documents/.


Пример работы с архивами tar на Ubuntu

Для пользователей Ubuntu распаковка архива в консоли Linux ничем не отличается от других дистрибутивов. В Ubuntu вы также можете использовать команду tar для работы с архивами .tar.gz и .tar.xz.

  1. Чтобы распаковать архив .tar.gz:
    tar -xvzf archive.tar.gz
  1. Чтобы распаковать архив в определенную директорию:
    tar -xvzf archive.tar.gz -C /home/user/extracted_files/
  1. Чтобы увидеть содержимое архива перед распаковкой:
    tar -tzf archive.tar.gz
  1. Чтобы распаковать архив .tar.xz:
    tar -xvJf archive.tar.xz

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

1. Что такое формат .tar.gz и как его отличить от .tar?

Формат .tar.gz представляет собой сжатый архив, который был сначала упакован с помощью tar, а затем сжат с помощью gzip. В то время как .tar — это просто архив, который не был сжат. Чтобы создать архив .tar.gz, используется команда с флагом -z для сжатия.

2. Как извлечь только один файл из архива .tar.gz?

Чтобы извлечь только один файл из архива, используйте команду tar с флагом -x и укажите путь к файлу внутри архива:
tar -xvzf archive.tar.gz path/to/file

3. Как извлечь файлы с определенным расширением из архива?

Если нужно извлечь только определенные файлы, например, все файлы с расширением .txt, используйте команду с паттерном:
tar -xvzf archive.tar.gz --wildcards '*.txt'

Это извлечет только файлы с расширением .txt.

4. Как извлечь файлы с подтверждением?

Если вы хотите подтверждать каждый файл перед его извлечением, используйте флаг -i:
tar -xvzi archive.tar.gz


Заключение

Архивы .tar.gz (или .tgz) — это один из самых популярных форматов для упаковки и сжатия файлов в Linux. Извлечение таких архивов с помощью утилиты tar достаточно простое и выполняется с помощью нескольких флагов. Важно правильно выбирать параметры команд, чтобы распаковать архивы в нужную директорию или извлечь только определенные файлы. Независимо от того, работаете ли вы в Ubuntu, CentOS или любом другом дистрибутиве Linux, команды для работы с архивами tar.gz останутся одинаковыми.

Если вам нужно создавать архивы, то с помощью команды tar можно легко упаковать и сжать файлы, используя алгоритм gzip. Вы также можете работать с другими форматами, такими как tar.xz, применяя соответствующие флаги в командах.

  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by