При работе с архивами в командной строке Linux есть одно неудобство: у каждой программы-архиватора свой набор ключей, который необходимо помнить, либо постоянно заглядывать в man. Эта проблема легко решается, если использовать утилиту atool, так как с ее помощью вы сможете работать с любым форматом архивов.
1️⃣ Установка atool
Программу можно скачать с официальной страницы, либо установив с помощью пакетного менеджера вашего дистрибутива:
sudo apt install atool (Debian/Ubuntu/Linux Mint)
sudo dnf install atool (Fedora)
sudo pacman -S atool (Archlinux)
2️⃣ Создание архивовДля создания архива используется команда:
apack имя_архива.формат [список_файлов]
К примеру, командаapack backup.tgz first second third
создаст в текущей директории архив backup.tgz и запакует в него файлы first, second и third. Причём формат создаваемого архива автоматически определяется из имени.Создать несколько архивов можно вот так:
apack -e -F .tar.gz dir1 dir2 dir3
В этом примере три директории dir будут упакованы в три разных архива. Ключ -e означает выполнять команду отдельно для каждого аргумента, ключ -F указывает формат создаваемых архивов. Подобным образом эти ключи действуют и в других командах, как будет показано ниже.3️⃣ Просмотр архивов
Что бы просмотреть содержимое архива введите
als имя_архива
Просмотреть содержимое нескольких архивов:als -e *.tgz
Что бы вывести на экран содержимое файла, находящегося в архиве, можно использовать командуacat имя_архива имя_файла_в_архиве
4️⃣ Распаковка архивовДля распаковки архива используется команда
aunpack имя_архива [имя_файла_в_архиве]
Если в архиве содержится всего один файл, то он будет распакован в текущую директорию. Если же файлов несколько, то будет создана директория совпадающая с именем архива и файлы распакуются в неё. Если вам нужно распаковать архив в другую директорию, то можете её указать после ключа -X:aunpack -X /tmp archive.zip
Распаковать несколько архивов можно указав ключ -e:aunpack -e *.tar.gz
5️⃣ Перепаковка архивовatool также можно использовать для перепаковки архивов в другой формат. Это делается командой
arepack старый_архив новый_архив
При этом старый архив не удаляется. Если вам необходимо перепаковать несколько архивов RAR в формат 7Z, то можно использовать следующую командуarepack -F .7z -e *.rar
6️⃣ Сравнение архивовСравнить два архива можно командой
adiff архив1 архив2
atool использует программу diff для сравнения файлов.7️⃣ Единая команда
Вместо всех этих команд возможно использовать команду atool с соответствующим ключем:
atool -l вместо als
atool -x вместо aunpack
atool -a вместо apack
atool -c вместо acat
atool -d вместо adiff
atool -r вместо arepack
Возможно, такой вариант кому-то покажется предпочтительным.Заключение
Как вы могли увидеть, atool это очень простая и, в то же время, мощная программа. Разобравшись с ней один раз вы больше не будете испытывать проблем с запоминанием ключей для множества консольных архиваторов 🎹
👉 DevOps Portal