Vyhledávání na webu

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.

  1. 18 příkazů Tar pro vytváření a extrahování archivů v Linuxu
  2. 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

  1. 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. .
  2. Udržuje vše organizované: Rozbalí archivy do vlastních vyhrazených adresářů.
  3. 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á.
  4. 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ářů.