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