Ricerca nel sito web

Dtrx - Uno strumento intelligente di estrazione degli archivi (tar, zip, cpio, rpm, deb, rar) per Linux


Tutti noi potremmo esserci trovati di fronte ad una situazione prima o poi mentre usavamo i comandi tar.gz, tar.bz2, tbz di Linux . Così tanti tipi di archivio, così tanti comandi da ricordare... Beh, non più, grazie allo strumento dtrx.

  1. 18 comandi Tar per creare ed estrarre archivi in Linux
  2. Come aprire, estrarre e creare file RAR in Linux

Cos'è Dtrx?

Dtrx sta per "Do The Right Extraction", è un'applicazione da riga di comando open source e molto efficace per i sistemi *nix che semplifica il lavoro di estrazione degli archivi.

Il comando dtrx sostituisce i comandi “tar -zxvf” o “tar -xjf” e fornisce un unico comando per estrarre gli archivi in diversi formati tra cui tar, zip, rpm, deb, gem , 7z, cpio, rar e molti altri. Può anche essere utilizzato per decomprimere file compressi con bzip2, gzip ecc.

Per impostazione predefinita, dtrx estrae i contenuti in una directory dedicata e risolve anche i problemi di autorizzazione (come autorizzazione negata) affrontati dall'utente durante l'estrazione dei contenuti per garantire che il proprietario possa leggere e scrivere tutto quei file.

Funzionalità DTRX

  1. Gestisce molti tipi di archivio: fornisce un solo semplice comando per estrarre file tar, zip, rar, gz, bz2, xz, rpm, deb, gem, file zip autoestraenti e molti altri formati di file exe .
  2. Mantiene tutto organizzato: estrarrà gli archivi nelle proprie directory dedicate.
  3. Autorizzazioni valide: garantisce inoltre che l'utente possa leggere e scrivere tutti i file dopo l'estrazione, mantenendo intatta l'autorizzazione.
  4. Estrazione ricorsiva: può trovare archivi all'interno dell'archivio ed estrarre anche quelli.

Come installare Dtrx su Linux

Lo strumento dtrx è incluso per impostazione predefinita nei repository Ubuntu, tutto quello che devi fare è semplicemente eseguire un apt-get per installarlo sul tuo sistema.

Su Debian/Ubuntu/Linux Mint

sudo apt-get install dtrx

Su RHEL/CentOS/Fedora

Sui sistemi basati su Red Hat, dtrx non è disponibile tramite repository predefiniti, è necessario scaricare uno script dtrx e installare il programma a livello di sistema utilizzando i comandi seguenti come utente root.

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
Uscita del campione
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

Come utilizzare il comando dtrx

Il comando dtrx è un po' come l'unico anello che li governa tutti nel Signore degli Anelli. Invece di dover ricordare la sintassi per ogni archivio, tutto ciò che devi ricordare è il comando dtrx.

1. Estrazione dell'archivio singolo

Ad esempio, voglio estrarre un file di archivio chiamato "tecmint27-12-2013.gz", eseguo solo il comando dtrx senza utilizzare alcun flag.

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

Oltre a semplificare l'estrazione, ha molte altre opzioni come estrarre il file in una cartella ed estrarre ricorsivamente tutti gli altri archivi all'interno di un determinato archivio.

2. Estrazione di archivi multipli

Considera di avere un file "dtrAll.zip", composto da dtr1.zip, dtr2.zip e dtr3.zip< ciascuno composto rispettivamente da dtr1, dtr2 e dtr3. Invece di dover prima estrarre manualmente dtrAll zip e poi estrarre ciascuno dei file dtr1, dtr2 e dtr3 puoi estrarlo direttamente nelle rispettive cartelle utilizzando dtrx e selezionando l'opzione “a”, estrae ricorsivamente tutti i file zip.

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

Dopo l'estrazione, il contenuto della directory estratta può essere verificato utilizzando il comando ls.

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

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

3. Estrazione di un archivio specifico

Diciamo che vuoi estrarre il primo archivio e non gli archivi al suo interno. Selezionando N si estrae solo l'archivio indicato e non altri archivi al suo interno.

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

Il contenuto della directory estratta può essere verificato utilizzando il comando ls come mostrato.

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

dtr1.zip dtr2.zip dtr3.zip

4. Estrai ogni livello di archivio

Per estrarre ogni livello di archivio all'interno dell'archivio caso per caso, ovvero se desideri estrarre il 2° livello di archivi ma non il 3° livello, puoi utilizzare l'opzione "o".

Considera di avere un file zip "dtrNewAll.zip", che ha "dtrAll.zip" e "dtrNew" come contenuto. Ora se vuoi estrarre anche il contenuto di “dtrNewAll” e “dtrAll” ma non di dtr1.zip, dtr2 .zip e dtr3.zip, puoi utilizzare le opzioni "o" e "n" come mostrato di seguito.

dtrx dtrNewAll.zip
Uscita del campione
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

Il contenuto della directory estratta può essere verificato utilizzando il comando ls come mostrato.

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

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

dtr1.zip dtr2.zip dtr3.zip

Per prima cosa selezioniamo l'opzione "o", il che significa che verranno estratti tutti gli archivi all'interno di dtrNewAll. Successivamente selezioniamo l'opzione “n” per dtrAll.zip, il che significa che gli archivi al suo interno dtr1.zip , dtr2.zip e dtr3.zip non verranno estratti.

5. Estrai metadati dai file .deb, .rpm e .gem

L'opzione “-m” estrae i metadati dagli archivi .deb, .rpm e .gem, invece del loro contenuto normale. Ecco un esempio del comando.

[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

Ci sono molte altre opzioni dtrx da esplorare, basta eseguire "dtrx –help" per elencare le opzioni disponibili.

[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

Collegamenti di riferimento

dtrx Homepage

Penso che dovresti provare dtrx, perché è l'unico potente strumento da riga di comando che fornisce un singolo comando per decomprimere qualsiasi formato di file di archivio. Per ora è tutto e non dimenticare di lasciare la tua nota nella sezione commenti.