Архивы формата .tar.gz (или часто используемый синоним .tgz) — это одни из самых популярных типов архивов в Linux и других UNIX-подобных операционных системах. Это сжатые архивы, которые используют утилиту tar для упаковки и gzip для сжатия. В этой статье мы рассмотрим, как разархивировать такие файлы в Linux, а также как распаковать архивы форматов tar.gz и tar.xz с помощью командной строки.
Ознакомиться с тарифами VPS хостинга можно тут
Что такое архив .tar.gz?
Архив с расширением .tar.gz представляет собой комбинацию двух инструментов:
- tar — это утилита для архивации, которая создает архивы, объединяя файлы в один контейнер. Расширение .tar означает "tape archive" (архив ленты).
- 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.
- Чтобы распаковать архив .tar.gz:
tar -xvzf archive.tar.gz
- Чтобы распаковать архив в определенную директорию:
tar -xvzf archive.tar.gz -C /home/user/extracted_files/
- Чтобы увидеть содержимое архива перед распаковкой:
tar -tzf archive.tar.gz
- Чтобы распаковать архив .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, применяя соответствующие флаги в командах.