Dtrx - En intelligent arkivekstraktion (tjære, zip, cpio, rpm, deb, rar) Værktøj til Linux


Alle af os har muligvis haft en situation på et eller andet tidspunkt, mens vi bruger kommandoer Linux tar.gz, tar.bz2, tbz. Så mange arkivtyper, så mange kommandoer at huske ... Nå, ikke mere takket være dtrx-værktøjet.

  1. 18 tjærkommandoer til oprettelse og udpakning af arkiver i Linux
  2. Sådan åbnes, udtrækkes og oprettes RAR-filer i Linux

Hvad er Dtrx?

Dtrx står for "Do the Right Extraction", det er en open source og meget effektiv kommandolinjeapplikation til * nix-systemer, der forenkler dit job med arkivudvinding lettere.

Dtrx-kommandoen er en erstatning for “tar -zxvf” eller “tar -xjf” kommandoer, og den giver en enkelt kommando til at udtrække arkiver i en række forskellige formater, herunder tar, zip, rpm, deb, gem, 7z, cpio, rar og mange flere. Det kan også bruges til at dekomprimere filer komprimeret med bzip2, gzip osv.

Som standard udtrækker dtrx indhold til et dedikeret bibliotek og løser også tilladelsesproblemer (som tilladelse nægtet), som brugeren står over for, mens de udpakker indhold for at sikre, at ejeren kan læse og skrive alle disse filer.

Dtrx-funktioner

  1. Håndterer mange arkivtyper: Det giver kun en enkel kommando til at udpakke tjære, zip, rar, gz, bz2, xz, rpm, deb, gem, selvudpakkende zip-filer og mange andre formater af exe-filer.
  2. Holder alt organiseret: Det udtrækker arkiver i deres egne dedikerede mapper.
  3. Fornuftige tilladelser: Det sørger også for, at brugeren kan læse og skrive alle disse filer efter udtrækning og holde tilladelsen intakt.
  4. Rekursiv ekstraktion: Det kan finde arkiver inde i arkivet og udpakke dem også.

Sådan installeres Dtrx i Linux

Dtrx-værktøjet er som standard inkluderet i Ubuntu-arkiver, alt hvad du skal gøre er simpelt, gør et apt-get til at installere på dit system.

$ sudo apt-get install dtrx

På Red Hat-baserede systemer er dtrx ikke tilgængelig via standardopbevaringssteder, du skal downloade et dtrx-script og installere programmet hele systemet ved hjælp af nedenstående kommandoer som rootbruger.

# 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

Sådan bruges dtrx Command

Dtrx-kommandoen er som den ene ring, der styrer dem alle i Ringenes Herre. I stedet for at skulle huske syntaksen for hvert arkiv, er alt, hvad du skal huske, dtrx-kommandoen.

For eksempel vil jeg udtrække en arkivfil kaldet “tecmint27-12-2013.gz“, jeg udfører kun dtrx-kommando uden at bruge flag.

 dtrx tecmint27-12-2013.gz

Bortset fra at forenkle udvindingen har den en række andre muligheder som at udpakke filen til en mappe og rekursivt udpakke alle andre arkiver i et givet arkiv.

Overvej, at du har en fil "dtrAll.zip", der består af dtr1.zip, dtr2.zip og dtr3.zip, der hver består af henholdsvis dtr1, dtr2 og dtr3. I stedet for først at skulle udpakke dtrAll-zip'en manuelt og derefter udpakke hver af dtr1, dtr2 og dtr3, kan du direkte udpakke den i respektive mapper ved hjælp af dtrx og ved at vælge indstillingen "a", udpakker den alle zip-filerne rekursivt.

 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

Efter ekstraktion kan indholdet af den udpakkede mappe verificeres ved hjælp af kommandoen ls.

 cd dtrAll
 ls 

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

Lad os sige, at du vil udtrække det første arkiv og ikke arkiver inde i det. Ved at vælge N udtrækker det kun det givne arkiv og ikke andre arkiver inde i det.

 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

Indholdet af den udpakkede mappe kan verificeres ved hjælp af kommandoen ls som vist.

 cd dtrAll
 ls

dtr1.zip dtr2.zip dtr3.zip

For at udtrække hvert arkivlag inde i arkivet fra sag til sag, dvs. hvis du vil udtrække 2. arkivlag, men ikke det tredje lag, kan du bruge indstillingen “o”.

Overvej, at du har en zip-fil "dtrNewAll.zip", som har "dtrAll.zip" og "dtrNew", som det er indhold. Hvis du nu også vil udtrække indholdet af “dtrNewAll” og “dtrAll”, men ikke af dtr1.zip, dtr2.zip og dtr3.zip, kan du bruge “o” og “n” som vist nedenfor.

# 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

Indholdet af den udpakkede mappe kan verificeres ved hjælp af kommandoen ls som vist.

 cd dtrNewAll
 ls

dtrAll  dtrAll.zip  dtrNew
 cd dtrAll
 ls

dtr1.zip dtr2.zip dtr3.zip

Vi vælger først indstillingen “o”, hvilket betyder, at alle arkiver inde i dtrNewAll vil blive ekstraheret. Senere vælger vi “n” -indstillingen for dtrAll.zip, hvilket betyder at arkiverne inde i det dtr1.zip, dtr2.zip og dtr3.zip ikke ekstraheres.

Indstillingen “-m” ekstraherer metadataene fra .deb-, .rpm- og .gem-arkiver i stedet for deres normale indhold. Her er et eksempel på kommandoen.

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

conffiles  control  md5sums  postinst  postrm  prerm

Der er mange flere dtrx-muligheder at udforske, bare kør "dtrx –help" for at liste de tilgængelige muligheder.

 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

Reference Links

dtrx Hjemmeside

Jeg tror, du skal prøve dtrx, fordi det er det eneste kraftfulde kommandolinjeværktøj, der giver en enkelt kommando til at dekomprimere ethvert format af arkivfiler. Det er det for nu, og glem ikke at efterlade din note i kommentarsektionen.