Tar o Untar esa es la cuestión

Publicada en Publicada en bash, Debian, OS, Scripts

Gracias al comando tar permite empaquetar varios archivos en uno solo, sin comprimirlos.

Empaquetar:

tar -vcf nombre_archivo.tar nombre_carpeta_a_empaquetar
  • v: (verbose) muestra en pantalla las operaciones que va realizando archivo por archivo (opcional).
  • c: (create/crear) crea un archivo tar.
  • f: (file/archivo) indica que se dará un nombre al archivo tar.
  • nombre_archivo.tar: nombre que se dará al archivo tar. nombre_carpeta_a_empaquetar: nombre de la carpeta (o del directorio) que se va a empaquetar.

Desempaquetar:

tar -vxf mi_archivo.tar
  • v: (verbose) permite obtener una descripción de los archivos. desempaquetados (opcional).
  • x: (extract/extraer) extrae los archivos.
  • f: (file/archivo) para indicar el archivo tar que contiene los archivos, parámetro siguiente.
  • nombre_archivo.tar: el nombre del archivo tar de donde se extraerán los archivos.

Una vez empaquetado podemos optar por comprimir los datos y curiosamente encontré esta tabla que describe perfectamente la característica de cada uno de los compresores:

decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2
compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar
compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip
availability (unix): gzip > bzip2 > zip > 7z > rar
availability (windows): zip > rar > 7z > gzip, bzip2

tar.gz
Para comprimir ficheros en formato tar.gz, se utiliza el siguiente comando:

tar -czfv archivo.tar.gz ficheros
  • -c:indica a tar que cree un archivo.
  • -z:indica que use el compresor gzip
  • -f:indica a tar que el siguiente argumento es el nombre del fichero.tar
  • -v:indica a tar que muestre lo que va empaquetando

Para descomprimir ficheros con extensión tar.gz, se usa el siguiente comando:

tar -xzvf archivo.tar.gz
  • -x:le dice a tar que extraiga el contenido del fichero tar.gz
  • -z:le indica a tar que esta comprimido con gzip
  • -v:va mostrando el contenido del fichero
  • -f:le dice a tar que el siguiente argumento es el fichero a descomprimir.

Para poder ver el contenido de un fichero comprimido en tar.gz, se usa el siguiente comando:

tar -tzf archivo.tar.gz

tar.bz2

Para comprimir en tar.bz2, se hace uso del parámetro pipeline ( | ), que consiste en que “filtra” la salida de un comando a la entrada de otro, como es en este ejemplo: tar empaqueta los distintos ficheros o directorios y su salida lo pasa al comando bzip2 para que este lo comprima y el resultado de este, lo redirecciona ( > ) al fichero final tar.bz2

tar -c ficheros | bzip2 > archivo.tar.bz2

Para descomprimir ficheros tar.bz2, se utiliza el siguiente comando:

bzip2 -dc archivo.tar.bz2 | tar -xv

Y para ver el contenido de un fichero tar.bz2, se usa el siguiente comando:

bzip2 -dc archivo.tar.bz2 | tar -t

Fuente:

http://es.ccm.net/faq/623-el-comando-tar
http://linuxzone.es/metodos-de-compresion-y-descompresion-en-linux/
http://superuser.com/questions/205223/pros-and-cons-of-bzip-vs-gzip