Mandrake Linux 8.1: Manual de Referencia | ||
---|---|---|
Anterior | Capítulo 5. Los utilitarios de la línea de comandos | Siguiente |
Aunque ya hemos visto un uso para tar en el capítulo Compilando e instalando software libre, no hemos explicado como funciona. Para eso está esta sección aquí. Al igual que find, tar es un utilitario Unix de larga data, y como tal, su sintaxis es un poco especial. La sintaxis es:
tar [opciones] [archivos...] |
Ahora, aquí tiene la lista de opciones. Note que todas tienen una opción larga equivalente, pero para esto se tendrá que referir a la página Man ya que no se indicarán aquí. Y, por supuesto, tampoco se indicarán todas las opciones :-)
![]() | el guión inicial (-) de las opciones cortas ahora no está desaprobado para el comando tar, excepto después de una opción larga. |
c: Esta opción se usa para crear archivadores nuevos.
x: Esta opción se usa para extraer los archivos de un archivador existente.
t: Listar los archivos de un archivador existente.
v: Esto simplemente listará los archivos mientras se agregan o se extraen de un archivador, o, en conjunción con la opción t (ver arriba), imprime un listado largo de archivo en vez de uno corto.
f <archivo>: Crear, un archivador de nombre <archivo>, extraer del archivador <archivo> o listar los archivos del archivador <archivo>. Si se omite este parámetro, el archivo predeterminado será /dev/rmt0, que generalmente es el archivo especial asociado con el streamer. Si el parámetro archivo es - (un guión, la entrada o la salida (dependiendo de si está creando un archivador o extrayendo de uno) será asociado con la entrada estándar o la salida estándar.
z: Le dice a tar que el archivador a crear debe comprimirse con gzip, o que el archivador del que se quiere extraer está comprimido con gzip.
j: Igual que z, pero el programa usado para la compresión es bzip2.
p: Cuando se extraen archivos de un archivador, preservar todos los atributos del archivo, incluyendo pertenencia, último tiempo de acceso, y así sucesivamente. Muy útil para los volcados del sistema de archivos.
r: Agregar la lista de archivos dada en la línea de comandos a un archivador existente. Note que el archivo al cual quiere agregar archivos ¡no debe estar comprimido!
A: Añadir los archivadores que se dan en la línea de comandos al que se da con la opción f. Al igual que con la opción r, los archivadores no deben estar comprimidos para que esto funcione.
Hay muchas, muchas, muchas otras opciones, para una lista completa querrá referirse a la página Man de tar. Vea, por ejemplo, la opción d. Ahora, sigamos con un poquito de práctica. Digamos que quiere crear un archivador con todas las imágenes en /shared/images, comprimirlo con bzip2, que va a llamar images.tar.bz2 y ubicarlo en su directorio personal. Entonces, ingresará:
# # Nota: ¡debe encontrarse en el directorio desde el # que quiere archivar los archivos! # $ cd /shared $ tar cjf ~/images.tar.bz2 images/ |
Como puede ver, aquí hemos usado tres opciones: c le dijo a tar que queríamos crear un archivador, j le dijo que lo queríamos comprimir con bzip2, y f ~/images.tar.bz2 le dijo que el archivador se iba a crear en nuestro directorio personal, con el nombre images.tar.bz2. Ahora queremos verificar si el archivador es válido. Simplemente lo podemos hacer listando sus archivos:
# # Volver a nuestro directorio personal # $ cd $ tar tjvf images.tar.bz2 |
Aquí, le dijimos a tar que liste (t) los archivos del archivador images.tar.bz2 (f images.tar.bz2), le advertimos que el archivador estaba comprimido con bzip2 (j), y que queríamos un listado largo (v). Ahora, digamos que borró el directorio de las imágenes. Afortunadamente, su archivador está intacto, y ahora lo quiere extraer de nuevo a su lugar original, en /shared. Pero como no quiere arruinar su comando find para las imágenes nuevas, necesita conservar todos los atributos del archivo:
# # cambiar al directorio donde quiere extraer # $ cd /shared $ tar jxpf ~/images.tar.bz2 |
¡Y eso es todo!
Ahora, digamos que quiere extraer sólo el directorio images/cars del archivador, y nada más. Entonces puede ingresar esto:
$ tar jxf ~/images.tar.bz2 images/cars |
Si esto le preocupa, que no lo haga: si intenta respaldar archivos especiales, tar los tomará como lo que son, archivos especiales, y no volcará su contenido. Así que sí, se puede poner /dev/mem en un archivador :-) ¡Ah!, y también trata correctamente a los vínculos, así que tampoco se preocupe por esto. Para los vínculos simbólicos, también mire la opción h en la página Man.
Anterior | Inicio | Siguiente |
at: programar un comando, pero solo una vez | Subir | bzip2 y gzip: comandos de compresión de datos |