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