# atool
btimofeev(station13, 13) — All
2016-03-24 18:38:29


# Надеюсь никто не будет против если я сделаю здесь перепост заметки из своего блога. Возможно она кому-нибудь будет полезна. Оригинал лежит по адресу www.emunix.org/post/atool


atool: простая работа с архивами в Linux
========================================

При работе с архивами в командной строке Linux есть одно неудобство: у каждой программы-архиватора свой набор ключей, который необходимо помнить, либо постоянно заглядывать в man.

Эта проблема легко решается, если использовать утилиту atool, т.к. с ее помощью вы сможете работать с любым форматом архивов. Попросту говоря, atool это фронтенд для консольных архиваторов, предоставляющий единый интерфейс для работы с ними.

Программу можно скачать с официальной страницы http://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 это очень простая и, в то же время, мощная программа. Разобравшись с ней один раз вы больше не будете испытывать проблем с запоминанием ключей для множества консольных архиваторов.

# Re: atool
Andrew Lobanov(station13, 1) — btimofeev
2016-03-25 05:32:28


> # Надеюсь никто не будет против если я сделаю здесь перепост заметки из своего блога. Возможно она кому-нибудь будет полезна. Оригинал лежит по адресу www.emunix.org/post/atool

Не только не против, но даже за. Нужно больше информации =)