Hay tantas aplicaciones disponibles para extraer varios tipos de archivos de almacenamiento. Le resultará difícil recordar todas las opciones y parámetros de cada herramienta de archivo. ¡No hay problema! Hoy, encontré una función Bash simple para extraer archivos de varios tipos en Linux.
Esta función Bash puede extraer los formatos de archivo más utilizados, como .tar.bz2
, .tar.bz
, .bz2
, .rar
, .zip
y .7z
etc. ¡No necesita usar la aplicación de archivo real para extraer un archivo de almacenamiento! Simplemente agregue esta función a su archivo ~/.bashrc y llámela para extraer los archivos de almacenamiento. Automáticamente encontrará y utilizará la herramienta de archivo adecuada para extraer los archivos. ¡No es necesario memorizar las banderas y las opciones!
Una función Bash para extraer archivos
Abre tu ~/.bashrc
archivo en un editor de texto de su elección:
$ nano ~/.bashrc
Agrega el siguiente fragmento al final:
# Bash Function To Extract File Archives Of Various Types extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) rar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file" fi }
Presiona Ctrl+o
y presione ENTER para guardar el archivo y luego presione Ctrl+
x para salir del archivo. Ejecute el siguiente comando para aplicar los cambios:
$ source ~/.bashrc
De ahora en adelante, simplemente puede llamar a esta función para extraer varios tipos de archivos de almacenamiento.
Por ejemplo, voy a extraer un .7z
tipo de archivo de almacenamiento usando el comando:
$ extract archive.7z
Salida de muestra:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_IN,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (206A7),ASM) Scanning the drive for archives: 1 file, 16013693 bytes (16 MiB) Extracting archive: archive.7z -- Path = archive.7z Type = 7z Physical Size = 16013693 Headers Size = 1204 Method = LZMA:23 Solid = + Blocks = 1 Everything is Ok Folders: 21 Files: 37 Size: 16625007 Compressed: 16013693
Del mismo modo, para extraer .zip
escriba archivos, el comando sería:
$ extract archive.zip
Tenga en cuenta que debe haber instalado el administrador de archivos adecuado antes de utilizar esta función. Si no hay herramientas de archivo compatibles instaladas en su sistema, recibirá un mensaje de error como el siguiente:
$ extract archive.zip bash: /usr/bin/unzip: No such file or directory
Se desconoce el autor original de este guión. Este script se menciona en varios lugares de Internet. Si alguien sabe quién escribió esto, por favor hágamelo saber en la sección de comentarios a continuación. Agregaré los detalles del autor.
¿Está utilizando otras funciones geniales de Bash? Compártelos a través de la sección de comentarios. Podría ser útil para mí y también para todos los lectores.
Lectura relacionada:
- Renombrar archivos sin escribir el nombre completo dos veces en Linux
- Consejos de Bash:cómo cp o mv y cd en un solo comando
- [Consejos de Bash] Cómo usar cd y ls en un solo comando
- Cómo archivar archivos y directorios en Linux [Parte 1]