Dtrx - Et intelligent arkivutvinningsverktøy (tar, zip, cpio, rpm, deb, rar) for Linux


Alle av oss kan ha møtt en situasjon på et eller annet tidspunkt mens vi brukte Linux tar.gz, tar.bz2, tbz kommandoer . Så mange arkivtyper, så mange kommandoer å huske... Vel, ikke lenger, takket være dtrx-verktøyet.

  1. 18 Tar-kommandoer for å opprette og trekke ut arkiver i Linux
  2. Hvordan åpne, pakke ut og lage RAR-filer i Linux

Hva er Dtrx?

Dtrx står for "Do The Right Extraction", det er en åpen kildekode og svært effektiv kommandolinjeapplikasjon for *nix-systemer som forenkler jobben din med arkivutvinning.

dtrx-kommandoen er en erstatning for «tar -zxvf»- eller «tar -xjf»-kommandoene, og den gir én enkelt kommando for å trekke ut arkiver i en rekke forskjellige formater, inkludert tar, zip, rpm, deb, gem >, 7z, cpio, rar og mange flere. Den kan også brukes til å dekomprimere filer komprimert med bzip2, gzip osv.

Som standard trekker dtrx ut innhold til en dedikert katalog og fikser også tillatelsesproblemer (som tillatelse nektet) som brukeren står overfor mens han trekker ut innhold for å sikre at eieren kan lese og skrive alt disse filene.

Dtrx-funksjoner

  1. Håndterer mange arkivtyper: Den gir bare én enkel kommando for å pakke ut tar, zip, rar, gz, bz2, xz, rpm, deb, gem, selvutpakkende zip-filer og mange andre formater av exe-filer .
  2. Holder alt organisert: Det vil trekke ut arkiver til deres egne dedikerte kataloger.
  3. Syndige tillatelser: Den sørger også for at brukeren kan lese og skrive alle disse filene etter utpakking, og holde tillatelsen intakt.
  4. Rekursiv utvinning: Den kan finne arkiver inne i arkivet og trekke ut disse også.

Hvordan installere Dtrx i Linux

dtrx-verktøyet er som standard inkludert i Ubuntu-depoter, alt du trenger å gjøre er å gjøre en apt-get for å installere på systemet ditt.

På Debian/Ubuntu/Linux Mint

sudo apt-get install dtrx

På RHEL/CentOS/Fedora

På Red Hat-baserte systemer er dtrx ikke tilgjengelig via standarddepoter, du må laste ned et dtrx-skript og installere programmet for hele systemet ved å bruke kommandoene nedenfor som root-bruker.

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

Slik bruker du dtrx-kommandoen

Kommandoen dtrx er på en måte som den ene ringen for å styre dem alle i Ringenes Herre. I stedet for å måtte huske syntaks for hvert arkiv, er alt du trenger å huske dtrx-kommandoen.

1. Pakk ut enkeltarkiv

For eksempel vil jeg trekke ut en arkivfil kalt "tecmint27-12-2013.gz", jeg utfører bare dtrx-kommandoen uten å bruke noen flagg.

[root@tecmint]# dtrx tecmint27-12-2013.gz

Bortsett fra å forenkle utvinningen, har den en rekke andre alternativer som å trekke ut filen til en mappe og rekursivt trekke ut alle andre arkiver i et gitt arkiv.

2. Pakk ut flere arkiver

Tenk på at du har filen "dtrAll.zip", som består av dtr1.zip, dtr2.zip og dtr3.zip< som hver består av dtr1,dtr2 og dtr3 henholdsvis. I stedet for å måtte først trekke ut dtrAll zip manuelt og deretter trekke ut hver enkelt av dtr1, dtr2 og dtr3 du kan trekke den ut direkte i respektive mapper ved å bruke dtrx og ved å velge alternativet "a", trekker den ut alle zip-filene rekursivt.

[root@tecmint]# dtrx dtrAll.zip
Eksempelutgang
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

Etter utvinning kan innholdet i den utpakkede katalogen verifiseres ved å bruke ls-kommandoen.

[root@tecmint]# cd dtrAll
[root@tecmint]# ls 

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

3. Utpakking av spesifikt arkiv

La oss si at du vil trekke ut det første arkivet og ikke arkiver i det. Ved å velge N trekker den bare ut det gitte arkivet og ikke andre arkiver i det.

[root@tecmint]# dtrx dtrAll.zip
Eksempelutgang
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

Innholdet i den utpakkede katalogen kan verifiseres ved å bruke ls-kommandoen som vist.

[root@tecmint]# cd dtrAll
[root@tecmint]# ls

dtr1.zip dtr2.zip dtr3.zip

4. Pakk ut hvert arkivlag

For å trekke ut hvert lag med arkiv i arkivet fra sak til sak, dvs. hvis du vil trekke ut andre lag med arkiver, men ikke det tredje laget, kan du bruke «o»-alternativet.

Tenk på at du har en zip-fil "dtrNewAll.zip", som har "dtrAll.zip" og "dtrNew" som innhold. Hvis du nå vil trekke ut innholdet av «dtrNewAll» og «dtrAll» også, men ikke av dtr1.zip, dtr2 .zip og dtr3.zip, kan du bruke «o»- og «n»-alternativene som vist nedenfor.

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

Innholdet i den utpakkede katalogen kan verifiseres ved å bruke ls-kommandoen som vist.

[root@tecmint]# cd dtrNewAll
[root@tecmint]# ls

dtrAll  dtrAll.zip  dtrNew
[root@tecmint]# cd dtrAll
[root@tecmint]# ls

dtr1.zip dtr2.zip dtr3.zip

Vi velger først «o»-alternativet som betyr at alle arkiver i dtrNewAll vil bli trukket ut. Senere velger vi «n»-alternativet for dtrAll.zip som betyr at arkivene i den dtr1.zip , dtr2.zip og dtr3.zip vil ikke bli trukket ut.

5. Pakk ut metadata fra .deb-, .rpm- og .gem-filer

«-m»-alternativet trekker ut metadataene fra .deb-, .rpm- og .gem-arkivene, i stedet for deres normale innhold. Her er et eksempel på kommandoen.

[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

Det er mange flere dtrx-alternativer å utforske, bare kjør "dtrx –help" for å liste de tilgjengelige alternativene.

[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

Referanselenker

dtrx hjemmeside

Jeg tror du må prøve dtrx, fordi det er det eneste kraftige kommandolinjeverktøyet som gir en enkelt kommando for å dekomprimere ethvert format av arkivfiler. Det er det for nå, og ikke glem å legge igjen notatet ditt i kommentarfeltet.