Extraer archivos con Dtrx

Publicado el 12 octubre 2014 por Juanbellas

Juan Bellas

Dtrx es una aplicación que nos va a permitir extraer archivos desde la Terminal de una forma muy rápida y eficaz.

Nos permite simplificar las cosas a la hora de elegir los comandos necesarios para realizar una extracción de un sistema de archivos comprimidos u otro.

Lo instalaremos con los comandos como de costumbre:

juan@linuxmintplus ~ $ sudo apt-get install dtrx
[sudo] password for juan: 
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias 
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
 debugedit librpm3 librpmbuild3 librpmio3 librpmsign1 p7zip-full rpm
 rpm-common rpm2cpio
Paquetes sugeridos:
 rpm-i18n p7zip-rar alien elfutils
Se instalarán los siguientes paquetes NUEVOS:
 debugedit dtrx librpm3 librpmbuild3 librpmio3 librpmsign1 p7zip-full rpm
 rpm-common rpm2cpio
0 actualizados, 10 se instalarán, 0 para eliminar y 33 no actualizados.
Necesito descargar 2.106 kB de archivos.
Se utilizarán 6.098 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s

Un primer vistazo a la ayuda ya nos habla de sus posibilidades:

juan@linuxmintplus ~ $ 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
  --one=ONE_ENTRY_DEFAULT, --one-entry=ONE_ENTRY_DEFAULT
   specify extraction policy for one-entry archives:
   inside/rename/here
  -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

Dtrx vienen a ser las siglas de “Do The Right Extraction“, y viene a ser un reemplazo de “tar -zxvf” o “tar -xjf” y viene a ofrecer un único sistema para descomprimir tar, zip, rpm, deb, gem, 7z, cpio, rar, bzip2, gzip, y muchos más.

¿Como funciona?

Bien, a modo de prueba tengo en mi carpeta personal un archivo comprimido llamado prueba.zip

Me dirijo hacia él en la Terminal y ejecuto dtrx:

juan@linuxmintplus ~ $ cd /home/juan
juan@linuxmintplus ~ $ dtrx prueba.zip
juan@linuxmintplus ~ $

Y ya se nos descomprimió el archivo en el mismo directorio donde teníamos el comprimido.

En caso de querer descomprimir un archivo que, a su vez tiene varios archivos comprimidos dentro (prueba-a, prueba-b, prueba-c) se lo indicaremos con la opción “a”:

juan@linuxmintplus ~ $ dtrx prueba2.zip
dtrx: WARNING: extracting /home/juan/prueba2.zip to prueba2.1
prueba2.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

Después de extraer los archivos podemos listarlos con el comando ls:

juan@linuxmintplus ~ $ cd prueba2
juan@linuxmintplus ~/prueba2 $ ls
prueba-a.zip  prueba-b.zip  prueba-c.zip

Ahora resulta que tengo un archivo comprimido, prueba3, que, a su vez, tiene un comprimido dentro, prueba-d y otro archivo sin comprimir, prueba-e.

El primero consta, a su vez, de otros tres más comprimidos, prueba-a, prueba-b y prueba-c, entonces yo lo que quiero es descomprimir  prueba-d, pero no los archivos comprimidos que lleva dentro.

Lo haríamos con las órdenes “o” y “N”.

juan@linuxmintplus ~ $ dtrx prueba3.zip
dtrx: WARNING: extracting /home/juan/prueba3.zip to prueba3.1
prueba3.zip contains 2 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
prueba-d.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 esa forma tenemos extraído el primer archivo prueba-d, pero no los comprimidos de que cosntaba:

juan@linuxmintplus ~ $ cd prueba3
juan@linuxmintplus ~/prueba3 $ ls
prueba-d  prueba-d.zip  prueba-e
juan@linuxmintplus ~/prueba3 $ cd prueba-d
juan@linuxmintplus ~/prueba3/prueba-d $ ls
prueba-a.zip  prueba-b.zip  prueba-c.zip

Ahora ya es cuestión de ir jugando con las distintas opciones que nos ofrece esta aplicación.

Y esto es todo.

Venga, nos leemos