Comprimir y descomprimir archivos en Linux con la terminal

Foro sobre GNU Linux
Responder
Guillermo
Site Admin
Mensajes: 76
Registrado: 13 May 2023, 00:32
Ubicación: Valencia - España
Contactar:

Comprimir y descomprimir archivos en Linux con la terminal

Mensaje por Guillermo »

Ver: https://es.ccm.net/ordenadores/linux/23 ... -de-linux/
¿Cómo crear un script para comprimir archivos en Linux?
Vamos a nombrar este script comprimir.sh. Crea un nuevo archivo llamado comprimir.sh y pega el siguiente contenido:
#!/bin/bash

# Comprobar que se proporcionó un argumento

if [ "$#" -ne 2 ]; then

echo "Uso: $0 <nombre del archivo o carpeta> <nombre del archivo comprimido.tar.gz>"

exit 1

fi

# Comprimir el archivo o carpeta

tar czvf "$2.tar.gz" "$1"

if [ $? -eq 0 ]; then

echo "El archivo/carpeta '$1' ha sido comprimido exitosamente a '$2.tar.gz'"

else

echo "Hubo un error al comprimir el archivo/carpeta '$1'"

fi

Darle permisos de ejecución:

chmod +x comprimir.sh

Uso:

./comprimir.sh miCarpeta archivoComprimido


¿Cómo hacer un script para descomprimir archivos en Linux?
Vamos a nombrar este script descomprimir.sh. Crea un nuevo archivo llamado descomprimir.sh y pega el siguiente contenido:

#!/bin/bash

# Comprobar que se proporcionó un argumento

if [ "$#" -ne 1 ]; then

echo "Uso: $0 <nombre del archivo comprimido.tar.gz>"

exit 1

fi

# Descomprimir el archivo tar.gz

tar xzvf "$1"

if [ $? -eq 0 ]; then

echo "El archivo '$1' ha sido descomprimido exitosamente."

else

echo "Hubo un error al descomprimir el archivo '$1'"

fi

Darle permisos de ejecución:

chmod +x descomprimir.sh


Uso:

./descomprimir.sh archivoComprimido.tar.gz
gbeltran
Mensajes: 192
Registrado: 13 May 2023, 01:15
Ubicación: Valencia - España
Contactar:

Re: Comprimir y descomprimir archivos en Linux con la terminal

Mensaje por gbeltran »

Ver este artículo también: https://es.linux-console.net/?p=20052
Ejemplos con unzip:
- Descomprimir archivo:

Código: Seleccionar todo

unzip [option] zip_file
- Descomprimir en un directorio:

Código: Seleccionar todo

unzip -d target_directory zip_file
Ayuda de unzip:

Código: Seleccionar todo

unzip -help
Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
  Default action is to extract files in list, except those in xlist, to exdir;
  file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).

  -p  extract files to pipe, no messages     -l  list files (short format)
  -f  freshen existing files, create none    -t  test compressed archive data
  -u  update files, create if necessary      -z  display archive comment only
  -v  list verbosely/show version info       -T  timestamp archive to latest
  -x  exclude files that follow (in xlist)   -d  extract files into exdir
modifiers:
  -n  never overwrite existing files         -q  quiet mode (-qq => quieter)
  -o  overwrite files WITHOUT prompting      -a  auto-convert any text files
  -j  junk paths (do not make directories)   -aa treat ALL files as text
  -U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields
  -C  match filenames case-insensitively     -L  make (some) names lowercase
  -X  restore UID/GID info                   -V  retain VMS version numbers
  -K  keep setuid/setgid/tacky permissions   -M  pipe through "more" pager
See "unzip -hh" or unzip.txt for more help.  Examples:
  unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
  unzip -p foo | more  => send contents of foo.zip via pipe into program more
  unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
gbeltran
Mensajes: 192
Registrado: 13 May 2023, 01:15
Ubicación: Valencia - España
Contactar:

Re: Comprimir y descomprimir archivos en Linux con la terminal

Mensaje por gbeltran »

Y esto también: comando tar -> https://www.hostinger.es/tutoriales/com ... -tar-linux
Crear un archivo .tar en Linux

Puedes crear compresiones .tar tanto para un archivo como para directorios. Un ejemplo de este tipo de archivo es:

tar -cvf sampleArchive.tar /home/sampleArchive

Aquí /home/sampleArchive es el directorio que necesita ser comprimido creando sampleArchive.tar.

Este comando usa las opciones –cvf que significan:

c – crear un nuevo archivo .tar
v – muestra una descripción detallada del progreso de la compresión
f – nombre del archivo

Crear un archivo .tar.gz en Linux

Si deseas una mejor compresión, también puedes usar .tar.gz. Un ejemplo de esto es:

tar -cvzf sampleArchive.tar.gz /home/sampleArchive

La opción adicional z representa la compresión gzip. Alternativamente, puedes crear un archivo .tgz que sea similar a tar.gz. Te mostramos un ejemplo de esto último a continuación:

tar -cvzf sampleArchive.tgz /home/sampleArchive

Crear un archivo .tar.bz2 en Linux

El archivo .bz2 proporciona más compresión en comparación con gzip. Sin embargo, esta alternativa tomará mas tiempo para comprimir y descomprimir. Para usarla, debes usar la opción -j. Un ejemplo de cómo se vería la operación es el siguiente:

tar -cvjf sampleArchive.tar.bz2 /home/sampleArchive

Dicha operación es similar a .tar.tbz o .tar.tb2. Te mostramos un ejemplo a continuación:

tar -cvjf sampleArchive.tar.tbz /home/sampleArchive

tar -cvjf sampleArchive.tar.tb2 /home/sampleArchive
Cómo descomprimir archivos .tar en Linux

El comando Tar de Linux también se puede utilizar para extraer un archivo. El siguiente comando extraerá los archivos en el directorio actual:

tar -xvf sampleArchive.tar

Si deseas extraer tus archivos a un directorio diferente, puedes usar la opción -C. Te mostramos un ejemplo de esto a continuación:

tar -xvf sampleArchive.tar -C /home/ExtractedFiles/

Puedes usar un comando similar para descomprimir archivos .tar.gz, tal como se muestra a continuación:

tar -xvf sampleArchive.tar.gz

tar -xvf sampleArchive.tar.gz -C /home/ExtractedFiles/

Los archivos .tar.bz2 o .tar.tbz o .tar.tb2 pueden descomprimirse de manera similar. Para esto deberás teclear el siguiente comando en la línea de comando:

tar -xvf sampleArchive.tar.bz2
Responder