Website-Suche

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.

  1. 18 Tar-Befehle zum Erstellen und Extrahieren von Archiven unter Linux
  2. 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

  1. 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 .
  2. Sorgt für Ordnung: Es extrahiert Archive in ihre eigenen dedizierten Verzeichnisse.
  3. 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.
  4. 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.