Dtrx - Een intelligente archiefextractie (tar, zip, cpio, rpm, deb, rar) tool voor Linux
We kunnen allemaal wel eens met een situatie te maken hebben gehad toen we de Linux tar.gz, tar.bz2, tbz commando's gebruikten . Zoveel archieftypen, zoveel commando's om te onthouden... Nou ja, niet meer, dankzij de dtrx tool.
- 18 Tar-opdrachten voor het maken en extraheren van archieven in Linux
- RAR-bestanden openen, extraheren en maken in Linux
Wat is Dtrx?
Dtrx staat voor “Do The Right Extraction“, het is een open source en zeer effectieve opdrachtregeltoepassing voor *nix-systemen die het uitpakken van archieven eenvoudiger maakt.
De opdracht dtrx is een vervanging van de opdrachten “tar -zxvf” of “tar -xjf” en biedt één enkele opdracht om archieven uit te pakken in een aantal verschillende formaten, waaronder tar, zip, rpm, deb, gem >, 7z, cpio, rar en nog veel meer. Het kan ook worden gebruikt om bestanden te decomprimeren die zijn gecomprimeerd met bzip2, gzip enz.
Standaard extraheert dtrx inhoud naar een speciale map en worden ook toestemmingsproblemen opgelost (zoals toestemming geweigerd) waarmee de gebruiker te maken krijgt tijdens het extraheren van inhoud om ervoor te zorgen dat de eigenaar alles kan lezen en schrijven die bestanden.
Dtrx-functies
- Verwerkt vele archieftypen: het biedt slechts één eenvoudige opdracht om tar, zip, rar, gz, bz2, xz, rpm, deb, gem, zelfuitpakkende zip-bestanden en vele andere formaten van exe-bestanden uit te pakken .
- Houdt alles georganiseerd: het zal archieven uitpakken in hun eigen speciale mappen.
- Gezonde rechten: het zorgt er ook voor dat de gebruiker al die bestanden kan lezen en schrijven na extractie, waarbij de toestemming intact blijft.
- Recursieve extractie: Het kan archieven in het archief vinden en deze ook uitpakken.
Hoe Dtrx op Linux te installeren
De dtrx-tool is standaard opgenomen in Ubuntu-opslagplaatsen. Het enige dat u hoeft te doen is eenvoudig een apt-get uitvoeren om op uw systeem te installeren.
Op Debian/Ubuntu/Linux Mint
sudo apt-get install dtrx
Op RHEL/CentOS/Fedora
Op op Red Hat gebaseerde systemen is dtrx niet beschikbaar via standaardrepository's. U moet een dtrx-script downloaden en het programma systeembreed installeren met behulp van onderstaande opdrachten als root-gebruiker.
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
Voorbeelduitvoer
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
Hoe de dtrx-opdracht te gebruiken
Het dtrx-commando lijkt een beetje op de enige ring die ze allemaal regeert in Lord of The Rings. In plaats van dat u de syntaxis voor elk archief hoeft te onthouden, hoeft u alleen maar de opdracht dtrx te onthouden.
1. Eén archief extraheren
Ik wil bijvoorbeeld een archiefbestand uitpakken met de naam “tecmint27-12-2013.gz“, ik voer alleen de opdracht dtrx uit zonder vlaggen te gebruiken.
[root@tecmint]# dtrx tecmint27-12-2013.gz
Naast het vereenvoudigen van de extractie, heeft het nog een aantal andere opties, zoals het uitpakken van het bestand naar een map en het recursief extraheren van alle andere archieven binnen een bepaald archief.
2. Meerdere archieven extraheren
Stel dat u een bestand “dtrAll.zip“ heeft, bestaande uit dtr1.zip, dtr2.zip en dtr3.zip< elk bestaande uit respectievelijk dtr1,dtr2 en dtr3. In plaats van dat u eerst handmatig de dtrAll zip moet uitpakken en vervolgens elk van de dtr1, dtr2 en dtr3 moet uitpakken je kunt het direct uitpakken in de respectievelijke mappen door dtrx te gebruiken en door de optie “a“ te selecteren, worden alle zip-bestanden recursief uitgepakt.
[root@tecmint]# dtrx dtrAll.zip
Voorbeelduitvoer
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
Na het uitpakken kan de inhoud van de uitgepakte map worden geverifieerd met behulp van de opdracht ls.
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1 dtr1.zip dtr2 dtr2.zip dtr3 dtr3.zip
3. Specifiek archief extraheren
Stel dat u het eerste archief wilt uitpakken en niet de archieven erin. Door N te selecteren, wordt alleen het opgegeven archief uitgepakt en geen andere archieven daarin.
[root@tecmint]# dtrx dtrAll.zip
Voorbeelduitvoer
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
De inhoud van de uitgepakte map kan worden geverifieerd met de opdracht ls, zoals weergegeven.
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1.zip dtr2.zip dtr3.zip
4. Pak elke archieflaag uit
Om elke archieflaag binnen het archief van geval tot geval te extraheren, d.w.z. als u de tweede laag met archieven wilt extraheren, maar niet de derde laag, kunt u de optie “o” gebruiken.
Stel dat u een zipbestand “dtrNewAll.zip“ heeft, met als inhoud “dtrAll.zip” en “dtrNew”. Als u nu de inhoud van “dtrNewAll” en “dtrAll” ook wilt extraheren, maar niet van dtr1.zip, dtr2 .zip en dtr3.zip, kunt u de opties “o” en “n” gebruiken, zoals hieronder weergegeven.
dtrx dtrNewAll.zip
Voorbeelduitvoer
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
De inhoud van de uitgepakte map kan worden geverifieerd met de opdracht ls, zoals weergegeven.
[root@tecmint]# cd dtrNewAll
[root@tecmint]# ls
dtrAll dtrAll.zip dtrNew
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1.zip dtr2.zip dtr3.zip
We selecteren eerst de optie “o”, wat betekent dat alle archieven binnen dtrNewAll worden uitgepakt. Later selecteren we de optie “n” voor dtrAll.zip, wat betekent dat de archieven erin dtr1.zip, dtr2.zip en dtr3.zip worden niet uitgepakt.
5. Extraheer metadata uit .deb-, .rpm- en .gem-bestanden
De optie “-m” extraheert de metadata uit de archieven .deb, .rpm en .gem, in plaats van hun normale inhoud. Hier is een voorbeeld van de opdracht.
[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
Er zijn nog veel meer dtrx-opties om te verkennen. Voer gewoon “dtrx –help” uit om de beschikbare opties weer te geven.
[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
Referentiekoppelingen
dtrx-startpagina
Ik denk dat je dtrx eens moet proberen, omdat het het enige krachtige opdrachtregelprogramma is dat één enkele opdracht geeft om elk formaat archiefbestanden te decomprimeren. Dat is het voor nu, en vergeet niet om uw opmerking achter te laten in het commentaargedeelte.