📦 Руководство по архивированию в Linux: tar, gzip, gunzip, unrar

Platform Tested on Archive Tools

Подробное руководство по архивированию и разархивированию файлов в Linux с использованием встроенных утилит. Основной упор на tar.gz и RAR файлы.


🔹 1. tar — создание и распаковка архивов .tar и .tar.gz

tar — это стандартная утилита для архивирования файлов и директорий в Linux.

Синтаксис

tar [options] archive_name files_or_directories

Основные опции

Опция Описание
-c Создать новый архив
-x Извлечь файлы из архива
-v Подробный вывод (verbose)
-f Указать имя архива (обязательно)
-z Сжать/распаковать через gzip (.tar.gz)
-j Сжать/распаковать через bzip2 (.tar.bz2)
-C Извлекать файлы в указанную директорию

Примеры

Создание архива .tar.gz

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

Извлечение архива

tar -xzvf backup.tar.gz

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

tar -xzvf backup.tar.gz -C /home/user/restore/

Архив без сжатия

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

Архив с bzip2 (.tar.bz2)

tar -cjvf backup.tar.bz2 /home/user/docs/
tar -xjvf backup.tar.bz2

[!TIP] Используйте -v для контроля процесса, особенно при больших архивах.


🔹 2. gzip и gunzip — сжатие и разжатие файлов

gzip используется для сжатия отдельных файлов, обычно вместе с tar (tar.gz).

Синтаксис

gzip file          # создаёт file.gz
gunzip file.gz     # распаковывает file.gz

Примеры

Сжатие файла

gzip report.txt
# результат: report.txt.gz

Разжатие файла

gunzip report.txt.gz
# восстановлен report.txt

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

zcat report.txt.gz

Сжатие с максимальным уровнем

gzip -9 largefile.log

🔹 3. unrar — работа с RAR архивами

RAR не является встроенным стандартом Linux, но unrar — часто доступный пакет для работы с архивами .rar.

Установка

Debian/Ubuntu:

sudo apt update
sudo apt install unrar

RedHat/CentOS/Fedora:

sudo dnf install unrar

Синтаксис

unrar [options] archive.rar [destination]

Основные опции

Опция Описание
x Извлечь файлы с полными путями
e Извлечь файлы в текущую директорию (без путей)
l Просмотр содержимого архива
v Подробный вывод

Примеры

Просмотр содержимого RAR архива

unrar l archive.rar

Извлечение архива с сохранением структуры каталогов

unrar x archive.rar /home/user/restore/

Извлечение в текущую директорию

unrar e archive.rar

Извлечение с подтверждением перезаписи

unrar x -o+ archive.rar

[!TIP] unrar лучше использовать для извлечения RAR-файлов; для создания RAR на Linux нужен rar (платный) или использовать альтернативу 7z.


🔹 4. Комбинированные примеры

  1. Создание .tar.gz архива с логами и перенос на удалённый сервер:
tar -czvf logs.tar.gz /var/log/nginx/
scp logs.tar.gz user@remote:/home/user/backups/
  1. Извлечение архива на удалённом сервере:
ssh user@remote "tar -xzvf /home/user/backups/logs.tar.gz -C /home/user/restored_logs/"
  1. Извлечение RAR архива после скачивания:
wget http://example.com/files/archive.rar
unrar x archive.rar
  1. Архивирование и сжатие нескольких директорий:
tar -czvf project_backup.tar.gz /home/user/project1 /home/user/project2

⚡ Резюме

Утилита Форматы Основное назначение
tar .tar, .tar.gz, .tar.bz2 Архивирование директорий и файлов
gzip/gunzip .gz Сжатие отдельных файлов
unrar .rar Извлечение RAR архивов

[!TIP] Для ежедневного резервного копирования используйте tar + gzip или tar + bzip2. Для редких RAR-файлов используйте unrar.


🔗 Полезные ссылки