Dtrx - inteligentno orodje za ekstrakcijo arhiva (tar, zip, cpio, rpm, deb, rar) orodje za Linux


Pri uporabi ukazov tar.gz, tar.bz2, tbz smo se vsi v določenem trenutku morda soočili s situacijo. Toliko vrst arhivov, toliko ukazov, ki si jih je treba zapomniti ... No, ne več, zahvaljujoč orodju dtrx.

  1. 18 ukazov Tar za ustvarjanje in ekstrahiranje arhivov v Linuxu
  2. Kako odpreti, izvleči in ustvariti datoteke RAR v Linuxu

Kaj je Dtrx?

Dtrx je kratica za »Do The Right Extraction«, je odprtokodna in zelo učinkovita aplikacija ukazne vrstice za sisteme * nix, ki vam olajša delo pri pridobivanju arhivov.

Ukaz dtrx je zamenjava ukazov "tar -zxvf" ali "tar -xjf" in ponuja en sam ukaz za izvlečenje arhivov v številnih različnih oblikah, vključno s tar, zip, rpm, deb, gem, 7z, cpio, rar in še veliko več. Uporablja se lahko tudi za stiskanje datotek, stisnjenih z bzip2, gzip itd.

Dtrx privzeto izvleče vsebino v namenski imenik in odpravi tudi težave z dovoljenji (na primer zavrnjeno dovoljenje), s katerimi se sooča uporabnik med pridobivanjem vsebine, da lastnik lahko bere in piše vse te datoteke.

Dtrx funkcije

  1. Obdeluje številne vrste arhivov: ponuja samo en preprost ukaz za ekstrakcijo tar, zip, rar, gz, bz2, xz, rpm, deb, gem, samorazpakirane zip datoteke in številne druge oblike exe datotek. >
  2. Vodi vse organizirano: arhiv bo izvlekel v lastne namenske imenike.
  3. Zdrava dovoljenja: Zagotavlja tudi, da lahko uporabnik po ekstrakciji bere in piše vse te datoteke, pri čemer dovoljenje ostane nedotaknjeno.
  4. Rekurzivno pridobivanje: v arhivu lahko najde arhive in jih tudi izvleče.

Kako namestiti Dtrx v Linux

Orodje dtrx je privzeto vključeno v repozitoriji Ubuntu, vse, kar morate storiti, je, da preprosto namestite v svoj sistem.

$ sudo apt-get install dtrx

V sistemih, ki temeljijo na Red Hat, dtrx ni na voljo prek privzetih repozitorijev, morate prenesti skript dtrx in namestiti program po celotnem sistemu z uporabo spodnjih ukazov kot korenski uporabnik.

# 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
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

Kako uporabiti ukaz dtrx

Ukaz dtrx je nekako podoben enemu obroču, ki bo vladal vsem v Lord of the Rings. Namesto da bi si morali zapomniti skladnjo za vsak arhiv, si morate zapomniti le ukaz dtrx.

Na primer, želim izvleči arhivsko datoteko z imenom »tecmint27-12-2013.gz«, izvršim samo ukaz dtrx, ne da bi uporabil zastavice.

 dtrx tecmint27-12-2013.gz

Razen poenostavitve ekstrakcije ima še vrsto drugih možnosti, na primer izvlečenje datoteke v mapo in rekurzivno izvlečenje vseh drugih arhivov znotraj določenega arhiva.

Razmislite o tem, da imate datoteko »dtrAll.zip«, ki jo sestavljajo dtr1.zip, dtr2.zip in dtr3.zip, sestavljeni iz dtr1, dtr2 in dtr3. Namesto da bi morali ročno najprej izvleči dtrAll zip in nato izvleči vsakega od dtr1, dtr2 in dtr3, ga lahko neposredno izvlečete v ustrezne mape z dtrx in z izbiro možnosti "a" rekurzivno izvleče vse zip datoteke.

 dtrx dtrAll.zip
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 ekstrakciji lahko vsebino ekstrahiranega imenika preverite z ukazom ls.

 cd dtrAll
 ls 

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

Recimo, da želite izvleči prvi arhiv in ne arhivov v njem. Z izbiro N samo izvleče dani arhiv in ne drugih arhivov v njem.

 dtrx dtrAll.zip
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

Vsebino izvlečenega imenika lahko preverite z ukazom ls, kot je prikazano.

 cd dtrAll
 ls

dtr1.zip dtr2.zip dtr3.zip

Če želite ekstrahirati vsako plast arhiva v arhivu za vsak primer posebej, tj. Če želite izvleči 2. plast arhiva, ne pa tudi 3. plast, lahko uporabite možnost "o".

Razmislite o tem, da imate datoteko zip »dtrNewAll.zip«, ki vsebuje vsebino »dtrAll.zip« in »dtrNew«. Če želite zdaj izvleči tudi vsebino datotek "dtrNewAll" in "dtrAll", ne pa tudi datotek dtr1.zip, dtr2.zip in dtr3.zip, lahko uporabite možnosti "o" in "n", kot je prikazano spodaj.

# dtrx dtrNewAll.zip
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

Vsebino izvlečenega imenika lahko preverite z ukazom ls, kot je prikazano.

 cd dtrNewAll
 ls

dtrAll  dtrAll.zip  dtrNew
 cd dtrAll
 ls

dtr1.zip dtr2.zip dtr3.zip

Najprej izberemo možnost "o", kar pomeni, da bodo izvlečeni vsi arhivi znotraj dtrNewAll. Kasneje izberemo možnost »n« za dtrAll.zip, kar pomeni, da arhivi v njem dtr1.zip, dtr2.zip in dtr3.zip ne bodo ekstrahirani.

Možnost “-m” izvleče metapodatke iz arhivov .deb, .rpm in .gem namesto njihove običajne vsebine. Tu je primer ukaza.

 dtrx -m openfire_3.8.2_all.deb 
 dtrx -m openfire-3.8.2-1.i386.rpm
 ls

conffiles  control  md5sums  postinst  postrm  prerm

Obstaja veliko več možnosti dtrx, ki jih je treba raziskati, samo zaženite »dtrx –help«, da navedete razpoložljive možnosti.

 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čne povezave

dtrx Domača stran

Mislim, da morate poskusiti dtrx, ker je to edino zmogljivo orodje ukazne vrstice, ki daje en sam ukaz za dekompresijo katere koli oblike arhivskih datotek. Za zdaj je to vse, in ne pozabite pustiti zapiska v oddelku za komentarje.