Создание архивов TAR в Linux/Unix

Бесплатная консультация юриста

+7 (800) 302-87-29

Реклама jurik.ru

В этой статье мы подробно рассмотрим, как создать архив tar в операционных системах семейства Linux/Unix, какие существуют варианты сжатия, как извлекать файлы и какие часто встречаются ошибки. В конце статьи размещены контакты для обращения к специалистам, которые помогут решить любые вопросы, связанные с архивированием.

Что такое архив TAR?

TAR (от tape archive) – это формат контейнера, который объединяет несколько файлов и каталогов в один файл без изменения их содержимого. Сам по себе tar‑архив не сжимает данные, но его часто комбинируют с утилитами gzip, bzip2 или xz для получения компактных архивов.

Базовый синтаксис команды tar

tar [опции] [архив] [файлы/каталоги]
  • c – создать архив;
  • x – извлечь содержимое;
  • t – вывести список файлов в архиве;
  • v – «verbose», выводить процесс в консоль;
  • f – указать имя файла архива (обязательно ставится последним в наборе опций);
  • z – использовать gzip‑сжатие;
  • j – использовать bzip2‑сжатие;
  • J – использовать xz‑сжатие.

Пример 1. Создание простого tar‑архива без сжатия

tar -cvf backup.tar /home/user/documents

В результате будет создан файл backup.tar, содержащий весь каталог /home/user/documents.

Пример 2. Архив с gzip‑сжатием

tar -czvf backup.tar.gz /home/user/documents

Файл backup.tar.gz будет занимать значительно меньше места.

Пример 3. Архив с bzip2‑сжатием

tar -cjvf backup.tar.bz2 /home/user/documents

Пример 4. Архив с xz‑сжатием (самый высокий коэффициент сжатия)

tar -cJvf backup.tar.xz /home/user/documents

Извлечение файлов из архива

Для распаковки используется опция x. Примеры:

  • Без сжатия: tar -xvf backup.tar
  • gzip: tar -xzvf backup.tar.gz
  • bzip2: tar -xjvf backup.tar.bz2
  • xz: tar -xJvf backup.tar.xz

По умолчанию файлы извлекаются в текущий каталог. Чтобы задать путь, используйте опцию -C:

tar -xzvf backup.tar.gz -C /tmp/restore

Просмотр содержимого архива без распаковки

tar -tvf backup.tar

Для сжатых архивов добавьте соответствующую опцию (z, j, J).

Создание архива из нескольких файлов и каталогов

tar -czvf project.tar.gz file1.txt file2.txt src/ docs/

В результате в архив попадут два отдельных файла и два каталога.

Архивирование через сеть (SSH)

Если нужно передать архив напрямую на удалённый сервер, удобно использовать конвейер:

tar -czf ― /home/user/data | ssh user@remotehost "cat > /backup/data.tar.gz"

Здесь - указывает tar писать в стандартный вывод, который передаётся по ssh.

Частые ошибки и способы их устранения

  1. Ошибка «tar: Cannot open: Permission denied» – запустите команду от имени пользователя с нужными правами (например, sudo).
  2. «tar: Unexpected EOF in archive» – архив повреждён; попробуйте восстановить с помощью tar -xvf archive.tar --ignore-zeros или проверьте целостность с gzip -t, bzip2 -t, xz -t.
  3. Проблемы с путями, содержащими пробелы – заключайте их в кавычки: tar -czvf "my backup.tar.gz" "My Documents".

Автоматизация процесса (скрипт)

Ниже пример простого bash‑скрипта, который создаёт архив текущего каталога и отправляет его по e‑mail.

#!/bin/bash
DATE=$(date +%Y-%m-%d)
ARCHIVE="backup_$DATE.tar.gz"
SOURCE="/home/user/projects"

tar -czvf "$ARCHIVE" "$SOURCE"
echo "Backup created: $ARCHIVE"

echo "Backup $ARCHIVE" | mailx -s "Daily backup" -a "$ARCHIVE" user@example.com

FAQ (часто задаваемые вопросы)

  • Можно ли добавить файлы в уже существующий tar‑архив? Да, используя опцию -r (append), но только если архив не сжат.
  • Как узнать, какой тип сжатия использован в архиве? Команда file backup.tar.* покажет тип (gzip, bzip2, xz).
  • Нужен ли отдельный архиватор для распаковки .tar.gz? Нет, tar умеет работать с gzip, bzip2 и xz напрямую.

Контакты для обращений

Официальный сайт: https://www.tar-support.example.com

Горячая линия: +7 (495) -23‑45‑67 (круглосуточно)

Номера телефонов:

  • Техническая поддержка – +7 (495) -23‑45‑68
  • Отдел продаж – +7 (495) -23‑45‑69
  • Служба по работе с клиентами – +7 (495) -23‑45‑70

Электронный адрес: support@tar-support.example.com

Личный кабинет: https://www.tar-support.example.com/login – здесь вы можете отслеживать статус ваших запросов, скачивать обновления и управлять подписками.

Личный приём (для корпоративных клиентов): запись через личный кабинет или по телефону +7 (495) -23‑45‑71;

График приёма:

  • Понедельник – Пятница: 09:00 – 18:00
  • Суббота: 10:00 – 14:00
  • Воскресенье: выходной

Отделы:

  1. Отдел технической поддержки
  2. Отдел разработки и интеграции
  3. Отдел продаж и лицензирования
  4. Отдел обучения и документации

Руководство компании:

  • Генеральный директор – Иванов Сергей Петрович
  • Технический директор – Петрова Анна Владимировна
  • Директор по продажам – Смирнов Дмитрий Алексеевич

Отзывы клиентов:

«Отличный сервис! Быстро помогли решить проблему с повреждённым архивом.» – Алексей К., ИТ‑отдел, ООО «СтройТех»

«Удобный личный кабинет и профессиональная поддержка 24/7.» – Марина Л., системный администратор, ЗАО «ИнфоСервис»

Если у вас возникли вопросы по работе с tar-архивами, не стесняйтесь обращаться – мы всегда готовы помочь!