LinuxParty
Todos nosotros podríamos haber enfrentado una situación similar en algún momento, tenemos varios ficheros que contienen cosas que están comprimidos con con distintas extensiones: Linux tar.gz, tar.bz2. Así que tenemos muchos tipos de archivos, por lo que necesitamos recodar muchos comandos... Bueno, no-más, gracias a la herramienta dtrx.
Herramienta Dtrx para extraer archivos Tar
¿Qué es Dtrx?
Dtrx significa "Do The Right Extraction", es una aplicación de código abierto para la línea de comandos muy eficaz para los sistemas *nix que simplifican su trabajo de extracción de archivos más fácil.
El comando dtrx es una sustitución de los comandos "tar -xjf" "tar -zxvf" o/y proporciona una un único comando para extraer los archivos en un número de diferentes formatos, incluyendo tar, zip, rpm, deb, gem, 7z, cpio, rar y muchos más. También puede ser utilizado para descomprimir archivos comprimidos con bzip2, gzip, etc
Por defecto, dtrx extrae el contenido en un directorio dedicado y también corrige problemas de permisos (como el permiso negado) problema al que se enfrentan los usuarios mientras se extrae el contenido para asegurarse de que el propietario puede leer y escribir todos esos archivos.
Características Dtrx
- Maneja muchos tipos de archivo: Proporciona un único comando para extraer tar, zip, rar, gz, bz2, xz, rpm, deb, gem, archivos zip autoextraíbles y muchos otros formatos de archivos .exe.
- Mantiene todo organizado: Se van a extraer los archivos en sus propios directorios dedicados.
- Permisos Sane: También asegúrese de que, el usuario puede leer y escribir todos los archivos después de la extracción, manteniendo intacto el permiso.
- Extracción recursiva: Puede encontrar archivos dentro del archivo y extraer los mismos.
Como instalar Dtrx en Linux
La herramienta dtrx está por defecto incluido en los repositorios de Ubuntu, todo lo que tienes que hacer es sencillo, escribir un apt-get para instalar en su sistema.
On Debian/Ubuntu/Linux Mint
$ sudo apt-get install dtrx
On RHEL/CentOS/Fedora
En sistemas basados en Red Hat, dtrx no está disponible a través de repositorios por defecto, pero puede instalar el repositorio de RPMFusion, si no quiere hacerlo, especialmente si es un servidor en producción, es necesario descargar un script dtrx e instalar el programa en el sistema:
Usando los comandos como usuario 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
Ejemplo de Salida:
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
Cómo usar el comando dtrx
El comando dtrx es algo así como el anillo para gobernarlos a todos que decían en la película, Señor de los Anillos. En lugar de tener que recordar la sintaxis para cada archivo, todo lo que tienes que recordar es comando dtrx.
1. Extrayendo un simple archivo.
Por ejemplo, quiero extraer un archivo comprimido llamado "linuxparty21-05-2014.gz", sólo ejecuto comando dtrx sin usar ninguna bandera.
[root@linuxparty]# dtrx linuxparty21-05-2014.gz
Aparte de la simplificación de la extracción, que tiene un montón de otras opciones como la de extraer el archivo a una carpeta y extraer de forma recursiva todos los otros archivos dentro de un archivo determinado.
2. Extrayendo múltiples ficheros.
Se tiene en cuenta has un archivo "dtrAll.zip", que consiste en dtr1.zip, dtr2.zip y dtr3.zip cada uno compuesto de dtr1, dtr2 y dtr3 respectivamente. En lugar de tener que manualmente primero extraer el zip dtrAll y luego extraer cada uno de los dtr1, dtr2 y dtr3 puede extraerlos directamente en las carpetas respectivas utilizando dtrx y seleccionando la opción "a", para extraer todos los archivos zip de forma recursiva.
[root@linuxparty]# dtrx dtrAll.zip
Ejemplo de Salida
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
Después, la extracción, el contenido del directorio extraído se pueden verificar con el comando ls.
[root@linuxparty]# cd dtrAll
[root@linuxparty]# ls
dtr1 dtr1.zip dtr2 dtr2.zip dtr3 dtr3.zip
3. Extraer Archivo Específico
Digamos que usted desea extraer el primer archivo y no los archivos en su interior. Al seleccionar N, sólo se extrae el archivo dado y no otros archivos en su interior.
[root@linuxparty]# dtrx dtrAll.zip
Ejemplo de Salida:
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
El contenido del directorio extraído se pueden verificar con el comando ls como se muestra.
[root@linuxparty]# cd dtrAll
[root@linuxparty]# ls
dtr1.zip dtr2.zip dtr3.zip
4. Extraiga cada capa del Archivo
Para extraer cada capa del archivo dentro del archivo en un caso por caso, es decir, si desea extraer segunda capa de los archivos, pero no la tercera capa, puede utilizar la opción de "o".
Considere usted tiene un archivo zip "dtrNewAll.zip", que tiene "dtrAll.zip" y "dtrNew" ya que es contenido. Ahora bien, si desea extraer el contenido de "dtrNewAll" y "dtrAll" también, pero no de dtr1.zip, dtr2.zip y dtr3.zip, puede usar las opciones "o" y "n" como se muestra a continuación.
# dtrx dtrNewAll.zip
Ejemplo de Salida:
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
El contenido del directorio extraído se pueden verificar con el comando ls como se muestra.
[root@linuxparty]# cd dtrNewAll
[root@linuxparty]# ls
dtrAll dtrAll.zip dtrNew
[root@linuxparty]# cd dtrAll
[root@linuxparty]# ls
dtr1.zip dtr2.zip dtr3.zip
En primer lugar, seleccionamos la opción "o" lo que significa que todos los archivos dentro dtrNewAll serán extraídos. Luego seleccionamos la opción "n" para dtrAll.zip lo que significa que los archivos dentro de ella dtr1.zip, no se extraerán dtr2.zip y dtr3.zip.
5. Extraer meta-datas de ficheros .deb, .rpm y .gem
La opción "-m" extrae los meta-datos de ficheros .deb, .rpm y .gem, en lugar de sus contenidos normales. He aquí un ejemplo del comando.
[root@linuxparty]# dtrx -m openfire_3.8.2_all.deb
[root@linuxparty]# dtrx -m openfire-3.8.2-1.i386.rpm
[root@linuxparty]# ls
conffiles control md5sums postinst postrm prerm
Hay muchas opciones más dtrx para explorar, basta con ejecutar el "dtrx --help" para listar las opciones disponibles.
[root@linuxparty]# 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
Enlaces de Referencia
-
Linux
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- He utilizado Linux durante 30 años. Aquí hay 5 razones por las que nunca cambiaré a Windows o MacOS
- Montar un directorio remoto, vía NFS, en Linux
- Mis predicciones sobre Linux para 2025: será un buen año
- ¿Por qué Torvalds eliminó a los encargados rusos del mantenimiento del núcleo de Linux?
- 10 cosas que siempre hago después de instalar Linux (y por qué tú también deberías hacerlo)
- 7 cosas que nunca hago después de instalar Linux (y por qué tú tampoco deberías)
- Detección de Intrusos: Snort, Base, MySQL, y Apache2 en Ubuntu Linux 7.10
- ¿Por qué no más personas usan Linux en el escritorio? Tengo una teoría que quizás no te guste.
- Los países occidentales ricos lideran la expansión mundial del petróleo y el gas
- Systemd 256.1 aborda la queja de que 'systemd-tmpfiles' podría eliminar inesperadamente su directorio /home
- Por qué un kernel Linux de distribución 'congelada' no es la mejor opción para la seguridad
- RebornOS es una versión hermosa y fácil de usar de Arch Linux con abundantes opciones de escritorio
- Linus Torvalds sobre el 'hilarante' bombo de la IA
- Cambiar la hora en Linux con Chrony