Comando tar , Slackware Linux

Comprimir archivos, descomprimir archivos, hacer backups, etc, etc. Son , sin duda alguna, tareas esenciales tanto para un usuario normal, como para un administrador de sistemas.

En esta ocasion veremos como comprimir, descomprimir, o hacer backups usando el comando tar de Linux.

NOMBRE
       tar - La version GNU de la utilidad para archivar

SINOPSIS
       tar  [  -  ]  A  --catenate --concatenate | c --create |
          d --diff --compare | r --append | t  --list | u --update |
          x -extract --get [ --atime-preserve ] [ -b, --block-size  N  ]
          [  -B, --read-full-blocks ] [ -C, --directory DIR ]
          [ --checkpoint    ] [ -f, --file [HOSTNAME:]F ] [ --force-local   ]
          [ -F, --info-script F --new-volume-script F ] [ -G,  --incremental  ]
          [ -g,  --listed-incremental F ] [ -h, --dereference ]
          [ -i, --ignore-zeros ] [ -j, --bzip2 ] [ --ignore-failed-read ]
          [ -k, --keep-old-files ] [ -K, --starting-file F ]
          [ -l,  --one-file- system  ]  [  -L, --tape-length N ]
          [ -m, --modification-time ] [ -M, --multi-volume ]
          [ -N, --after-date DATE, --newer DATE ]
          [ -o, --old-archive, --portability ] [ -O, --to-stdout ]
          [ -p,  --same-permissions, --preserve-permissions ]
          [ -P, --absolute-names ] [ --preserve ] [ -R, --record-number ]
          [ --remove-files  ]  [  -s,  --same-order,  --preserve-order  ]
          [ --same-owner  ] [ --numeric-owner ] [ -S, --sparse ]
          [ -T, --files-from F ] [ --null     ] [ --totals   ]
          [ -v, --verbose ] [ -V, --label NAME ] [  --version   ]
          [  -w,  --interactive, --confirmation  ]  [  -W, --verify    ]
          [ --exclude FILE ] [ -X, --exclude-from FILE ]
          [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ]
          [ --use-compress-program PROG  ]  [ --block-compress ]
          [ -[0-7][lmh] ]
          NombreDeArchivo1 [ NombreDeArchivo2, ... NombreDeArchivoN ]

       directorio1 [ directorio2, ...directorioN ]

Como es obvio, la cantidad de opciones y parametros que acepta el comando ‘tar‘ es sencillamente grotesco como para querer incluir un ejemplo para cada posible combinacion; de modo que me limitare a lo basico, a lo que realmente (bajo circunstancias normales) van a utilizar.

EJEMPLOS
       tar -xvvf foo.tar
              Extrae el archivo foo.tar

       tar -xvvzf foo.tar.gz
               Extrae el archivo gzippeado foo.tar.gz

       tar -cvvf foo.tar foo/
              Archiva los contenidos del folder foo en foo.tar

Primero lo basico:

Hay que entender que existe una ligera diferencia (en el mundo de comprimir/descomprimir) entre archivo y fichero. En ocasiones decimos que una carta, o algun httpd.conf, etc. son archivos, cuando en realidad son ficheros.

Un fichero es un conjunto de informaci贸n que se almacena para consultarse o utilizarse posteriormente.

Un archivo es un conjunto de ficheros empaquetados (asi como cuando una secretaria archiva muchos documentos, algo parecido).

Con esta diferencia ya resaltada, podemos continuar.

Si tenemos el archivo (conjunto de ficheros empaquetados)
foo.tar
y queremos descomprimirlo, es tan simple como usar:

# tar xvf foo.tar

-x (que es lo mismo que --extract, --get ) extrae los ficheros de un archivo , de modo que era lo mismo decir ‘tar --extract -vf foo.tar
-v ( --verbose ) muestra en pantalla los ficheros que va extayendo de foo.tar (esto es OPCIONAL)
-f ( --file ) sirve para indicar el nombre del archivo que se descomprimira

Toma en cuenta que puedes encontrarte un archivo que aparte de archivado este comprimido ya sea con la herramienta ‘bzip2‘ o con ‘gunzip‘, en dado caso el nombre del archivo deberia indicarlo con una extension adicional, ej.

foo.tar.gz — Archivado y comprimido con gunzip
para el cual debes usar:

# tar xvzf foo.tar.gz

.tar.bz2 — Archivado y comprimido con bzip2
usar:

# tar xvjf foo.tar.bz2

r mas opciones, verificar el manual de ‘tar‘.

COMPRIMIR FICHEROS | HACER BACKUPS

Comprimir un fichero es muy semejante a descomprimir un archivo con el comando ‘tar‘, la unica diferencia es que en vez de usar el parametro ‘x‘ (que es para extraer), usaremos ‘c‘ (que viene de --create , para crear un nuevo archivo -o sea, conjunto de ficheros comprimidos-)

De modo que para archivar el fichero ‘carta.txt’ usamos:

# tar cvf carta.tar carta.txt

Si quieres archivar y comprimir (usando gunzip) el fichero ‘carta.txt’ usa:

# tar cvzf carta.tar.gz carta.txt

Si quieres archivar y comprimir (usando bzip2) el fichero ‘carta.txt’ usa:

# tar cvjf carta.tar.bz2 carta.txt

Si quieres archivar todo un directorio, digamos ‘canciones/’ (porque quieres hacer un backup o por cualquier razon, usa:

# tar cvf canciones.tar canciones/

Si quieres archivar y comprimir todo un directorio, usa:

# tar cvzf canciones.tar.gz canciones/

o

tar cvjf canciones.tar.bz2 canciones/

NOTAS:
-Agregar el .tar.gz cuando creas un archivo comprimido NO es obligatorio, si no lo haces, y en vez de crear fulano.tar.gz decides llamarle simplemente fulano, no moriras y funcionara perfectamente bien; Pero le deseo suerte al pobre diablo que tendra que descomprimir eso en un futuro sin saber que tipo de archivo es :)

-Puedes archivar multiples ficheros, en la siguiente forma:

# tar cvf nombredearchivo.tar fichero1 fichero2 fichero3 fichero4

-Si quieres agregar un fichero a un backup existente, no tienes que extraer todo para luego volver a archivar (y comprimir, si lo hiciste), usa la opcion -A (Append) para agregar el fichero que se te quedo afuera:

# tar -Af cancion_olvidada.mp3 backup_de_canciones.tar

Y asi por el estilo :) , si me he olvidado algo me avisan, y si me equivoque en algo, tambien ;) (soy humano, propenso a errores).
Poco a poco ire adicionando ejemplos a este articulo de manera que sirva de referencia rapida a la hora de utilizar ‘tar’. Hasta luego ;D

PS.
Recuerden, ‘man’ es su amigo,

--
Jose P. Espinal

http://www.slackware-es.com
This entry was posted in Administraci贸n, Comandos.

4 Responses to Comando tar , Slackware Linux

Leave a Reply