В данной статье рассмотрим популярные утилиты для работы с архивами в 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
Частные случаи:
-
Часто бывает, что необходимо сохранить архив на удалённом сервере, т.к места на текущем попросту нет. В этом нам также поможет архиватор tar:
tar zcvf - /var/www/html | ssh root@IP "cat > /var/www/backup.tar.gz"
где
/var/www/html
— архивируемая директория,IP
— удалённый сервер, на котором будет создан архив./var/www/backup.tar.gz
— путь, указывающий расположение нашего архив. -
Распаковка конкретного файла из архива:
Если вы хотите извлечь несколько файлов, используйте следующий формат команды:
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