Работа с архивами в Linux

В данной статье рассмотрим популярные утилиты для работы с архивами в Linux.

Использование tar

tar — наиболее популярный архиватор в Unix и Linux-системах. Во всех популярных дистрибутивах систем он установлен по умолчанию. Рассмотрим самые распространенные варианты работы с этой утилитой.

Однако, при использовании сжатия формата bzip2, соответствующая утилита может быть не установлена на сервер, в зависимости от операционной системы установите ее командами:

Centos

yum install bzip2

Debian/Ubuntu

apt update

apt install  bzip2

Основные команды

Создание архива tar с именем backup.tar, включающим файлы file01.sql, file02 и file03:

tar -cvf  backup.tar  file01.sql file02 file03

Просмотр содержимого архива backup.tar:

tar -tf backup.tar

Распаковка архива backup.tar:

tar -xvf backup.tar

Для того, чтобы распаковать архив в указанный нами каталог, нужно добавить опцию -C:

tar -xvf backup.tar -С /root/backup/

Работа со сжатыми архивами.

tar только создаёт архив, но не сжимает. Для сжатия используются утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют расширения .tar.bz2 и .tar.gz2.

Для создания архива с использованием сжатия bzip2 выполним команду:

tar -cjvf   backup.tar.bz2  file01.sql file02 file03

Для создания gzip архива нужно изменить один параметр:

tar -czvf backup.tar.gz file01.sql file02 file03

Распаковка tar.bz2 архива:

tar -xjvf backup.tar.bz2 -C /root/backup/

Распаковать tar.gz архив можно командой:

tar -xzvf backup.tar.gz

Частные случаи:

  1. Часто бывает, что необходимо сохранить архив на удалённом сервере, т.к места на текущем попросту нет. В этом нам также поможет архиватор tar:

    tar zcvf - /var/www/html | ssh root@IP "cat > /var/www/backup.tar.gz"

    где /var/www/html — архивируемая директория,

    IP — удалённый сервер, на котором будет создан архив.

    /var/www/backup.tar.gz — путь, указывающий расположение нашего архив.

  2. Распаковка конкретного файла из архива:

    Если вы хотите извлечь несколько файлов, используйте следующий формат команды:

    tar -xvf backup.tar file01.sql file02 

    Соответственно для .tar.gz команда будет выглядеть так:

    tar -zxvf backup.tar.gz file01.sql file02 

    Для .tar.bz2:

    tar -jxvf backup.tar.bz2 file01.sql file02

Работа с архивами RAR

Для работы с RAR-архивами используем утилиты rar для создания архивов и unrar для распаковки. Установить архиватор можно средствами стандартного пакетного менеджера вашей операционной системы, однако, для установки последней актуальной версии воспользуемся другим способом.

Скачиваем с официального сайта архив с бинарными файлами и извлекаем из него файлы rar и unrar, далее копируем их, например, в /usr/bin/, либо производим установку:

wget https://www.rarlab.com/rar/rarlinux-x64-612.tar.gz
tar xzf rarlinux-x64-612.tar.gz
cd rar
make install

Команда make install выполнит следующие действия согласно содержимому файла makefile:

mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib

Основные команды

Создание архива файлов file01.sql file02 file03:

rar a archive.rar  file01.sql file02 file03

Создать архив директории dir01 рекурсивно:

rar -r a archive.rar dir01

Добавить файлы в архив можно с помощью ключа u, а удалить из архива ключом d:

rar u archive.rar  file02
rar d archive.rar  file02

Также можно указать степень сжатия архива, параметр сжатия принимает значения от 0 до 5, при этом 0 это без использования сжатия, по умолчанию используется степень 3. 

rar a -m5 archive.rar file02

Для распаковки архива также можно использовать rar с опцией x:

rar x archive.rar

Для распаковки RAR-архивов используется утилита unrar. Распаковать архив:

unrar x archive.rar

Распаковать архив в определенную директорию:

unrar x archive.rar ./dir 

Проверить, что архив целый:

unrar t archive.rar

Просмотреть список файлов в архиве:

 unrar l archive.rar

Этот материал был полезен?