Главная > Архивация и сжатие > tar

Руководство по команде tar: сжатие файлов, разархивирование и управление архивами

`tar` (сокращение от tape archive) — это команда, используемая в операционных системах Linux и Unix для объединения нескольких файлов или каталогов в один архивный файл (создание tarball) или для сжатия и разархивирования объединенных файлов. Это мощный и гибкий инструмент, который используется для резервного копирования, передачи файлов, распространения программного обеспечения и многого другого. С помощью этого руководства вы узнаете о базовом использовании команды `tar` и различных опциях сжатия/разархивирования.

Обзор tar

`tar` изначально был создан для архивирования файлов на магнитной ленте, но в настоящее время его в основном используют для объединения файлов на диске. Сам по себе `tar` не имеет функции сжатия, но используется вместе с инструментами сжатия, такими как `gzip`, `bzip2`, `xz`, для создания архивов с расширениями `.tar.gz`, `.tar.bz2`, `.tar.xz`. Эти файлы обычно называют 'tarball'.

Основные функции tar

`tar` в основном используется для следующих целей:

Основные области применения

  • Резервное копирование: Объединение важных файлов или каталогов в один архивный файл для резервного копирования.
  • Упаковка файлов: Объединение нескольких файлов в один для удобного управления или передачи.
  • Распространение программного обеспечения: Распространение исходного кода или приложений в сжатом виде tarball.
  • Сжатие и разархивирование: Интеграция с различными алгоритмами сжатия (gzip, bzip2, xz) для выполнения сжатия и разархивирования.

Форматы файлов tarball

При упаковке файлов с помощью `tar` и сжатии с помощью инструментов сжатия создаются файлы с такими расширениями:

Распространенные расширения Tarball

  • `.tar`: Не сжатый архивный файл
  • `.tar.gz` или `.tgz`: Файл, упакованный с помощью `tar` и сжатый с помощью `gzip`
  • `.tar.bz2` или `.tbz`: Файл, упакованный с помощью `tar` и сжатый с помощью `bzip2`
  • `.tar.xz` или `.txz`: Файл, упакованный с помощью `tar` и сжатый с помощью `xz`

Основные опции команды tar

Команда `tar` предоставляет различные опции, необходимые для упаковки и сжатия файлов, разархивирования и проверки содержимого архива. Эти опции могут комбинироваться.

1. Основные режимы работы (обязательные)

2. Указание метода сжатия

3. Другие общие опции

Сгенерированная команда:

Комбинируйте команды.

Описание:

`tar` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

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

Сжатие директории (gzip)

tar -czvf my_project.tar.gz my_project/

Упаковывает директорию `my_project` и все ее содержимое в файл `my_project.tar.gz` и сжимает с помощью `gzip`. `-c`: создание, `-z`: gzip, `-v`: подробный, `-f`: указание файла.

Разархивирование файла tar.gz

tar -xzvf my_project.tar.gz

Разархивирует файл `my_project.tar.gz` в текущую директорию. `-x`: разархивирование, `-z`: gzip, `-v`: подробный, `-f`: указание файла.

Разархивирование файла tar.gz (в определенную директорию)

mkdir -p /tmp/extracted_project
tar -xzvf my_project.tar.gz -C /tmp/extracted_project

Разархивирует файл `my_project.tar.gz` в директорию `/tmp/extracted_project`. Указывает целевую директорию с помощью опции `-C`.

Создание и разархивирование файла tar.bz2

tar -cjvf documents.tar.bz2 documents/
tar -xjvf documents.tar.bz2

Сжимает директорию `documents` с помощью `bzip2`, создавая `documents.tar.bz2`, а затем разархивирует ее.

Создание и разархивирование файла tar.xz

tar -cJvf logs.tar.xz logs/
tar -xJvf logs.tar.xz

Сжимает директорию `logs` с помощью `xz`, создавая `logs.tar.xz`, а затем разархивирует ее. `xz` обеспечивает наивысший уровень сжатия.

Только просмотр содержимого архива

tar -tzvf backup.tar.gz

Проверяет содержимое файла `backup.tar.gz`, не извлекая его, чтобы увидеть, какие файлы и каталоги включены.

Извлечение только определенного файла из архива

tar -xzvf web_backup.tar.gz web_data/index.html

Извлекает только файл `index.html` из `web_backup.tar.gz` в текущую директорию.


Те же команды в категории