Dtrx – nástroj pro inteligentní extrakci archivu (tar, zip, cpio, rpm, deb, rar) pro Linux
Každý z nás se mohl někdy při používání příkazů Linux tar.gz, tar.bz2, tbz setkat s nějakou situací . Tolik typů archivů, tolik příkazů k zapamatování... No, už ne, díky nástroji dtrx.
- 18 příkazů Tar pro vytváření a extrahování archivů v Linuxu
- Jak otevírat, extrahovat a vytvářet soubory RAR v Linuxu
Co je Dtrx?
Dtrx znamená „Do The Right Extraction“, je to open source a velmi efektivní aplikace příkazového řádku pro *nix systémy, která vám zjednoduší práci s extrakcí archivů.
Příkaz dtrx nahrazuje příkazy „tar -zxvf“ nebo „tar -xjf“ a poskytuje jediný příkaz pro rozbalení archivů. v mnoha různých formátech včetně tar, zip, rpm, deb, gem , 7z, cpio, rar a mnoho dalších. Lze jej také použít k dekomprimaci souborů komprimovaných pomocí bzip2, gzip atd.
Ve výchozím nastavení dtrx extrahuje obsah do vyhrazeného adresáře a také opravuje problémy s oprávněními (jako povolení odepřeno), kterým musí uživatel při extrahování obsahu čelit, aby bylo zajištěno, že vlastník může číst a zapisovat všechny ty soubory.
Vlastnosti Dtrx
- Zvládá mnoho typů archivů: Poskytuje pouze jeden jednoduchý příkaz pro extrakci tar, zip, rar, gz, bz2, xz, rpm, deb, gem, samorozbalovací soubory zip a mnoho dalších formátů souborů exe. .
- Udržuje vše organizované: Rozbalí archivy do vlastních vyhrazených adresářů.
- Zdravá oprávnění: Také zajišťuje, že uživatel může číst a zapisovat všechny tyto soubory po extrakci, přičemž oprávnění zůstávají nedotčená.
- Rekurzivní extrakce: Dokáže najít archivy v archivu a také je extrahovat.
Jak nainstalovat Dtrx v Linuxu
Nástroj dtrx je standardně součástí repozitářů Ubuntu, vše, co musíte udělat, je jednoduše provést instalaci apt-get do vašeho systému.
Na Debian/Ubuntu/Linux Mint
sudo apt-get install dtrx
Na RHEL/CentOS/Fedora
Na systémech založených na Red Hatu není dtrx k dispozici prostřednictvím výchozích úložišť, musíte si stáhnout skript dtrx a nainstalovat program pomocí níže uvedených příkazů jako uživatel root.
wget http://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz
tar -xvf dtrx-7.1.tar.gz
cd dtrx-7.1
python setup.py install --prefix=/usr/local
Ukázkový výstup
running install
running build
running build_scripts
creating build
creating build/scripts-2.6
copying and adjusting scripts/dtrx -> build/scripts-2.6
changing mode of build/scripts-2.6/dtrx from 644 to 755
running install_scripts
copying build/scripts-2.6/dtrx -> /usr/local/bin
changing mode of /usr/local/bin/dtrx to 755
running install_egg_info
Creating /usr/local/lib/python2.6/site-packages/
Writing /usr/local/lib/python2.6/site-packages/dtrx-7.1-py2.6.egg-info
Jak používat příkaz dtrx
Příkaz dtrx je něco jako jeden prsten, který jim všem vládne v Pánovi prstenů. Místo toho, abyste si pamatovali syntaxi pro každý archiv, vše, co si musíte pamatovat, je příkaz dtrx.
1. Rozbalení jednoho archivu
Například chci rozbalit archivní soubor s názvem „tecmint27-12-2013.gz“, spustím pouze příkaz dtrx bez použití jakýchkoliv příznaků.
[root@tecmint]# dtrx tecmint27-12-2013.gz
Kromě zjednodušení extrakce má spoustu dalších možností, jako je extrahování souboru do složky a rekurzivní extrakce všech ostatních archivů v daném archivu.
2. Extrahování více archivů
Představte si, že máte soubor „dtrAll.zip“, který se skládá z dtr1.zip, dtr2.zip a dtr3.zip< každý se skládá z dtr1, dtr2 a dtr3. Místo toho, abyste museli nejprve ručně extrahovat dtrAll zip a poté extrahovat každý z dtr1, dtr2 a dtr3 můžete jej přímo extrahovat do příslušných složek pomocí dtrx a výběrem možnosti „a“ rozbalí všechny zip soubory rekurzivně.
[root@tecmint]# dtrx dtrAll.zip
Ukázkový výstup
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
* _A_lways extract included archives during this session
* extract included archives this _O_nce
* choose _N_ot to extract included archives this once
* ne_V_er extract included archives during this session
* _L_ist included archives
What do you want to do? (a/o/N/v/l) a
Po extrakci lze obsah extrahovaného adresáře ověřit pomocí příkazu ls.
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1 dtr1.zip dtr2 dtr2.zip dtr3 dtr3.zip
3. Rozbalení konkrétního archivu
Řekněme, že chcete extrahovat první archiv a ne archivy v něm. Volbou N se rozbalí pouze daný archiv a nikoli další archivy v něm.
[root@tecmint]# dtrx dtrAll.zip
Ukázkový výstup
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
* _A_lways extract included archives during this session
* extract included archives this _O_nce
* choose _N_ot to extract included archives this once
* ne_V_er extract included archives during this session
* _L_ist included archives
What do you want to do? (a/o/N/v/l) N
Obsah extrahovaného adresáře lze ověřit pomocí příkazu ls, jak je znázorněno.
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1.zip dtr2.zip dtr3.zip
4. Extrahujte každou vrstvu archivu
Chcete-li extrahovat každou vrstvu archivu v archivu případ od případu, tj. pokud chcete extrahovat 2. vrstvu archivů, ale ne 3. vrstvu, můžete použít možnost „o“.
Představte si, že máte soubor zip „dtrNewAll.zip“, jehož obsah obsahuje „dtrAll.zip“ a „dtrNew“. Nyní, pokud chcete extrahovat také obsah „dtrNewAll“ a „dtrAll“, ale ne z dtr1.zip, dtr2 .zip a dtr3.zip, můžete použít možnosti „o“ a „n“, jak je uvedeno níže.
dtrx dtrNewAll.zip
Ukázkový výstup
dtrNewAll.zip contains 1 other archive file(s), out of 2 file(s) total.
You can:
* _A_lways extract included archives during this session
* extract included archives this _O_nce
* choose _N_ot to extract included archives this once
* ne_V_er extract included archives during this session
* _L_ist included archives
What do you want to do? (a/o/N/v/l) o
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
* _A_lways extract included archives during this session
* extract included archives this _O_nce
* choose _N_ot to extract included archives this once
* ne_V_er extract included archives during this session
* _L_ist included archives
What do you want to do? (a/o/N/v/l) n
Obsah extrahovaného adresáře lze ověřit pomocí příkazu ls, jak je znázorněno na obrázku.
[root@tecmint]# cd dtrNewAll
[root@tecmint]# ls
dtrAll dtrAll.zip dtrNew
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1.zip dtr2.zip dtr3.zip
Nejprve vybereme možnost „o“, což znamená, že všechny archivy v dtrNewAll budou extrahovány. Později vybereme možnost „n“ pro dtrAll.zip, což znamená, že archivy v něm dtr1.zip , dtr2.zip a dtr3.zip nebudou extrahovány.
5. Extrahujte metadata ze souborů .deb, .rpm a .gem
Možnost „-m“ extrahuje metadata z archivů .deb, .rpm a .gem, místo jejich běžného obsahu. Zde je příklad příkazu.
[root@tecmint]# dtrx -m openfire_3.8.2_all.deb
[root@tecmint]# dtrx -m openfire-3.8.2-1.i386.rpm
[root@tecmint]# ls
conffiles control md5sums postinst postrm prerm
Existuje mnohem více možností dtrx k prozkoumání, stačí spustit „dtrx –help“ a zobrazit dostupné možnosti.
[root@tecmint]# dtrx --help
Usage: dtrx [options] archive [archive2 ...]
Intelligent archive extractor
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-l, -t, --list, --table list contents of archives on standard output
-m, --metadata extract metadata from a .deb/.gem
-r, --recursive extract archives contained in the ones listed
-n, --noninteractive don't ask how to handle special cases
-o, --overwrite overwrite any existing target output
-f, --flat, --no-directory extract everything to the current directory
-v, --verbose be verbose/print debugging information
-q, --quiet suppress warning/error messages
Referenční odkazy
Domovská stránka dtrx
Myslím, že musíte zkusit dtrx, protože je to jediný výkonný nástroj příkazového řádku, který dává jediný příkaz k dekomprimaci jakéhokoli formátu archivních souborů. To je prozatím vše a nezapomeňte zanechat svou poznámku v sekci komentářů.