Dtrx – Ein intelligentes Tool zur Archivextraktion (tar, zip, cpio, rpm, deb, rar) für Linux
Wir alle sind vielleicht schon einmal mit einer Situation konfrontiert, als wir die Linux-Befehle tar.gz, tar.bz2, tbz verwendeten . So viele Archivtypen, so viele Befehle, die man sich merken muss ... Nun, nicht mehr, dank dtrx-Tool.
- 18 Tar-Befehle zum Erstellen und Extrahieren von Archiven unter Linux
- So öffnen, extrahieren und erstellen Sie RAR-Dateien unter Linux
Was ist Dtrx?
Dtrx steht für „Do The Right Extraction“ und ist eine Open-Source- und sehr effektive Befehlszeilenanwendung für *nix-Systeme, die Ihnen die Archivextraktion erleichtert.
Der Befehl dtrx ist ein Ersatz für die Befehle „tar -zxvf“ oder „tar -xjf“ und bietet einen einzigen Befehl zum Extrahieren von Archiven in einer Reihe verschiedener Formate, darunter tar, zip, rpm, deb, gem >, 7z, cpio, rar und viele mehr. Es kann auch zum Dekomprimieren von mit bzip2, gzip usw. komprimierten Dateien verwendet werden.
Standardmäßig extrahiert dtrx Inhalte in ein dediziertes Verzeichnis und behebt außerdem Berechtigungsprobleme (wie Berechtigung verweigert), mit denen Benutzer beim Extrahieren von Inhalten konfrontiert sind, um sicherzustellen, dass der Besitzer alles lesen und schreiben kann diese Dateien.
Dtrx-Funktionen
- Verwaltet viele Archivtypen: Es bietet nur einen einfachen Befehl zum Extrahieren von tar, zip, rar, gz, bz2, xz, rpm, deb, gem, selbstextrahierenden Zip-Dateien und vielen anderen Formaten von exe-Dateien .
- Sorgt für Ordnung: Es extrahiert Archive in ihre eigenen dedizierten Verzeichnisse.
- Vernünftige Berechtigungen: Es stellt außerdem sicher, dass der Benutzer alle diese Dateien nach dem Extrahieren lesen und schreiben kann, wobei die Berechtigungen erhalten bleiben.
- Rekursive Extraktion: Es kann Archive innerhalb des Archivs finden und diese ebenfalls extrahieren.
So installieren Sie Dtrx unter Linux
Das dtrx-Tool ist standardmäßig in Ubuntu-Repositorys enthalten. Sie müssen lediglich ein apt-get ausführen, um es auf Ihrem System zu installieren.
Auf Debian/Ubuntu/Linux Mint
sudo apt-get install dtrx
Auf RHEL/CentOS/Fedora
Auf Red Hat-basierten Systemen ist dtrx nicht über Standard-Repositorys verfügbar. Sie müssen ein Dtrx-Skript herunterladen und das Programm systemweit mit den folgenden Befehlen als root-Benutzer installieren.
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
Beispielausgabe
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
So verwenden Sie den dtrx-Befehl
Der Befehl dtrx ist so etwas wie der eine Ring, der sie alle im Herr der Ringe beherrscht. Anstatt sich die Syntax für jedes Archiv merken zu müssen, müssen Sie sich lediglich den Befehl dtrx merken.
1. Einzelnes Archiv extrahieren
Ich möchte beispielsweise eine Archivdatei mit dem Namen „tecmint27-12-2013.gz“ extrahieren. Ich führe nur den Befehl dtrx aus, ohne irgendwelche Flags zu verwenden.
[root@tecmint]# dtrx tecmint27-12-2013.gz
Abgesehen von der Vereinfachung der Extraktion bietet es eine Reihe weiterer Optionen wie das Extrahieren der Datei in einen Ordner und das rekursive Extrahieren aller anderen Archive innerhalb eines bestimmten Archivs.
2. Extrahieren mehrerer Archive
Stellen Sie sich vor, Sie haben eine Datei „dtrAll.zip“, bestehend aus dtr1.zip, dtr2.zip und dtr3.zip< bestehend jeweils aus dtr1,dtr2 und dtr3. Anstatt zuerst die dtrAll-Zip-Datei manuell extrahieren zu müssen und dann jedes einzelne der dtr1, dtr2 und dtr3 zu extrahieren Sie können es mit dtrx direkt in die entsprechenden Ordner extrahieren und durch Auswahl der Option „a“ werden alle ZIP-Dateien rekursiv extrahiert.
[root@tecmint]# dtrx dtrAll.zip
Beispielausgabe
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
Nach der Extraktion kann der Inhalt des extrahierten Verzeichnisses mit dem Befehl ls überprüft werden.
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1 dtr1.zip dtr2 dtr2.zip dtr3 dtr3.zip
3. Extrahieren eines bestimmten Archivs
Nehmen wir an, Sie möchten das erste Archiv extrahieren und nicht die darin enthaltenen Archive. Wenn Sie N auswählen, wird nur das angegebene Archiv extrahiert und keine anderen darin enthaltenen Archive.
[root@tecmint]# dtrx dtrAll.zip
Beispielausgabe
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
Der Inhalt des extrahierten Verzeichnisses kann wie gezeigt mit dem Befehl ls überprüft werden.
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1.zip dtr2.zip dtr3.zip
4. Extrahieren Sie jede Archivschicht
Um jede Archivschicht innerhalb des Archivs von Fall zu Fall zu extrahieren, d. h. wenn Sie die 2. Archivschicht, aber nicht die 3. Schicht extrahieren möchten, können Sie die Option „o“ verwenden.
Stellen Sie sich vor, Sie haben eine ZIP-Datei „dtrNewAll.zip“, deren Inhalt „dtrAll.zip“ und „dtrNew“ enthält. Wenn Sie nun auch den Inhalt von „dtrNewAll“ und „dtrAll“ extrahieren möchten, jedoch nicht von dtr1.zip, dtr2 .zip und dtr3.zip, können Sie die Optionen „o“ und „n“ verwenden, wie unten gezeigt.
dtrx dtrNewAll.zip
Beispielausgabe
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
Der Inhalt des extrahierten Verzeichnisses kann wie gezeigt mit dem Befehl ls überprüft werden.
[root@tecmint]# cd dtrNewAll
[root@tecmint]# ls
dtrAll dtrAll.zip dtrNew
[root@tecmint]# cd dtrAll
[root@tecmint]# ls
dtr1.zip dtr2.zip dtr3.zip
Wir wählen zunächst die Option „o“, was bedeutet, dass alle Archive in dtrNewAll extrahiert werden. Später wählen wir die Option „n“ für dtrAll.zip, was bedeutet, dass die darin enthaltenen Archive dtr1.zip und dtr2.zip sind und dtr3.zip werden nicht extrahiert.
5. Extrahieren Sie Metadaten aus .deb-, .rpm- und .gem-Dateien
Die Option „-m“ extrahiert die Metadaten aus den Archiven .deb, .rpm und .gem. anstelle ihres normalen Inhalts. Hier ist ein Beispiel für den Befehl.
[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
Es gibt noch viele weitere dtrx-Optionen zu erkunden. Führen Sie einfach „dtrx –help“ aus, um die verfügbaren Optionen aufzulisten.
[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
Referenzlinks
dtrx-Homepage
Ich denke, Sie müssen dtrx ausprobieren, da es das einzige leistungsstarke Befehlszeilentool ist, das einen einzigen Befehl zum Dekomprimieren jedes Formats von Archivdateien bereitstellt. Das war's fürs Erste, und vergessen Sie nicht, Ihre Notiz im Kommentarbereich zu hinterlassen.