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.
- 18 comandi Tar per creare ed estrarre archivi in Linux
- 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
- 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 .
- Mantiene tutto organizzato: estrarrà gli archivi nelle proprie directory dedicate.
- Autorizzazioni valide: garantisce inoltre che l'utente possa leggere e scrivere tutti i file dopo l'estrazione, mantenendo intatta l'autorizzazione.
- 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.