Обзор 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` в текущую директорию.