Dtrx - интеллектуальный инструмент для извлечения архивов tar, zip, cpio, rpm, deb, rar для Linux

Каждый из нас в тот или иной момент мог столкнуться с ситуацией, когда использовал архивы tar.gz, tar.bz2 и tbz. Так много типов архивов и так много команд, которые нужно запомнить. Теперь это не так, благодаря инструменту dtrx.

Что такое Dtrx?

Dtrx расшифровывается как Do The Right Extraction, это очень эффективное приложение командной строки с открытым исходным кодом, которое упрощает работу по извлечению архивов.

Команда dtrx является заменой команд tar -zxvf или tar -xjf и предоставляет одну команду для извлечения архивов в различных форматах, включая tar, zip, rpm, deb, gem, 7z, cpio, rar и многие другие. Она также может использоваться для распаковки файлов, сжатых с помощью bzip2, gzip и т. д.

По умолчанию dtrx извлекает содержимое в специальный каталог, а также исправляет проблемы с правами доступа (например, permission denied), возникающие у пользователя при извлечении содержимого, чтобы гарантировать, что владелец может читать и писать все эти файлы.

Особенности Dtrx

  • Работает с несколькими типами архивов: Извлекает множество форматов одной командой, включая tar, zip, rar, gz, bz2, xz, rpm, deb и самораспаковывающиеся zip-файлы.
  • Сохраняет все в порядке: Распаковывает архивы в собственные каталоги.
  • Установка прав доступа: Обеспечивает пользователям возможность чтения и записи всех файлов после извлечения, поддерживая правильные разрешения.
  • Рекурсивное извлечение: Может находить и извлекать архивы внутри архивов.

Как установить Dtrx в Linux?

Инструмент dtrx по умолчанию включен в репозитории дистрибутивов на базе Ubuntu, и все, что вам нужно сделать, это просто выполнить apt для его установки в вашей системе.

sudo apt install dtrx

В дистрибутивах на базе RHEL и некоторых других дистрибутивах Linux dtrx может не входить в репозитории по умолчанию. Вместо этого вы можете загрузить последнюю версию скрипта непосредственно из командной строки.

wget https://github.com/dtrx-py/dtrx/releases/download/8.5.3/dtrx-8.5.3.tar.gz
tar -xvf dtrx-8.5.3.tar.gz
cd dtrx-8.5.3
sudo python3 setup.py install --prefix=/usr/local

Как использовать команду dtrx в Linux

Команда dtrx упрощает извлечение, поэтому вам нужно запомнить только одну команду, а не несколько синтаксисов для разных архивов.

1. Извлечение одного архива

Чтобы извлечь один архивный файл, просто выполните команду dtrx, за которой следует имя архива:

dtrx tecmint-22-10-2024.gz

В дополнение к упрощению извлечения, она имеет различные опции, такие как извлечение файла в папку и рекурсивное извлечение всех других архивов внутри данного архива.

2. Извлечение нескольких архивов

Предположим, что у вас есть файл dtrAll.zip, который состоит из dtr1.zip, dtr2.zip и dtr3.zip, каждый из которых содержит dtr1, dtr2 и dtr3 соответственно.

Вместо того чтобы вручную извлекать dtrAll zip, а затем извлекать каждый из файлов dtr1, dtr2 и dtr3, вы можете напрямую извлечь их в соответствующие папки, используя dtrx и выбрав опцию a, которая рекурсивно извлекает все zip-файлы.

dtrx dtrAll.zip

После извлечения содержимое распакованного каталога можно проверить с помощью команды ls.

cd dtrAll
ls

Выходные данные:

dtr1  dtr1.zip  dtr2  dtr2.zip  dtr3  dtr3.zip

3. Извлечение определенного архива

Если вы хотите извлечь только основной архив, а не вложенные архивы, выберите соответствующую опцию (например, N):

dtrx dtrAll.zip

4. Извлеките каждый слой архивов

Чтобы извлечь каждый слой архива по отдельности, например, если нужно извлечь второй слой архивов, но не третий, можно использовать опцию o.

Допустим, у вас есть zip-файл dtrNewAll.zip, который содержит dtrAll.zip и dtrNew. Если вы хотите извлечь содержимое dtrNewAll и dtrAll, но не dtr1.zip, dtr2.zip и dtr3.zip, вы можете использовать опции o и n, как показано ниже.

dtrx dtrNewAll.zip

Сначала мы выбираем опцию o, что означает, что все архивы внутри dtrNewAll будут извлечены. Затем мы выбираем опцию n для dtrAll.zip, что означает, что архивы внутри него (dtr1.zip, dtr2.zip и dtr3.zip) не будут извлечены.

5. Извлечение метаданных из файлов .deb, .rpm и .gem

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

dtrx -m openfire_4.9.0_all.deb 
dtrx -m openfire-4.9.0-1.noarch.rpm
dtrx -m openfire-4.9.0.gem

6. Извлечение файлов в выделенный каталог

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

dtrx -d /home/tecmint tecmint-22-10-2024.gz

7. Список поддерживаемых типов архивов

Если вы хотите просмотреть список поддерживаемых типов архивов, вы можете сделать это с помощью команды dtrx --help.

dtrx --help

Я думаю, вы должны попробовать dtrx, потому что это единственный мощный инструмент командной строки, который дает одну команду для распаковки архивных файлов любого формата. На этом все, и не забудьте оставить свой отзыв в разделе комментариев.