Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > by-pkgid > 48e6004f7274ccc2095a5ab8f2460dd2 > files > 31

mandrake-doc-es-10.0-5.1.100mdk.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Archivado y compresión de datos</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Guía de Referencia"><link rel="up" href="cmdutils.html" title="Capítulo 5. Los utilitarios de la línea de
  comandos"><link rel="previous" href="command-sheduling.html" title="Programar la ejecución de comandos"><link rel="next" href="command-many.html" title="Mucho, mucho más..."></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Archivado y compresión de datos</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="command-sheduling.html">Anterior</a> </td><th width="60%" align="center">Capítulo 5. Los utilitarios de la línea de
  comandos</th><td width="20%" align="right"> <a accesskey="n" href="command-many.html">Siguiente</a></td></tr></table><hr></div><div class="sect1" lang="es"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="command-archivers"></a>Archivado y compresión de datos</h2></div></div><div></div></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="command-tar"></a>tar: Tape ARchiver (Archivador de
    cinta)</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa104"></a><a class="indexterm" name="BId-cmdutils-it5"></a>Aunque ya hemos visto un
     uso para <span><b class="command">tar</b></span> en <a href="install-free-software-chapter.html" title="Capítulo 12. Compilando e instalando
  software libre">Capítulo 12, <i>Compilando e instalando
  software libre</i></a>, no hemos explicado
     como funciona, lo cual haremos en esta sección. Al igual que
     <span><b class="command">find</b></span>, <span><b class="command">tar</b></span> es un utilitario <span class="application">UNIX</span> de larga data,
     y como tal, su sintaxis es un poco especial. La sintaxis
     es:</p><p><a name="BId-cmdutils-pa105"></a><a name="BId-cmdutils-sc14"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">tar [opciones] [archivos ...]</pre></td></tr></table><p><a name="BId-cmdutils-pa106"></a>Aquí tiene una lista de
    algunas opciones. Note que todas tienen una opción larga
    equivalente, pero para esto deberá consultar la página Man ya que
    no se indicarán aquí.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p><a name="BId-cmdutils-pa107"></a>El guión inicial
     (<tt class="literal">-</tt>) de las opciones cortas ahora es obsoleto
     para el comando <span><b class="command">tar</b></span>, excepto después de una
     opción larga.</p></td></tr></table></div><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa108"></a><tt class="option">c</tt>: Esta opción
      se usa para crear archivadores nuevos.</p></li><li><p><a name="BId-cmdutils-pa109"></a><tt class="option">x</tt>: Esta opción
      se usa para extraer los archivos de un archivador
      existente.</p></li><li><p><a name="BId-cmdutils-pa110"></a><tt class="option">t</tt>: Listar los
      archivos de un archivador existente.</p></li><li><p><a name="BId-cmdutils-pa111"></a><tt class="option">v</tt>: Esto
      simplemente listará los archivos mientras se agregan o se extraen
      de un archivador, o, en conjunción con la opción
      <tt class="option">t</tt> (ver arriba), imprime un listado largo de
      archivo en vez de uno corto.</p></li><li><p><a name="BId-cmdutils-pa112"></a><tt class="option">f &lt;archivo&gt;</tt>:
       Crear un archivador de nombre <tt class="option">&lt;archivo&gt;</tt>,
       extraer del archivador <tt class="option">&lt;archivo&gt;</tt> o
       listar los archivos del archivador
       <tt class="option">&lt;archivo&gt;</tt>. Si se omite este parámetro,
       el archivo predeterminado será <tt class="filename">/dev/rmt0</tt>,
       que generalmente es el archivo especial asociado con el
       <a name="BId-cmdutils-gt8" href="glossary.html#term-streamer"><i class="glossterm">streamer</i></a>. Si el parámetro
       <tt class="option">archivo</tt> es <tt class="literal">-</tt> (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.</p></li><li><p><a name="BId-cmdutils-pa113"></a><tt class="option">z</tt>: Le dice a
      <span><b class="command">tar</b></span> que el archivador a crear debe
      comprimirse con <span><b class="command">gzip</b></span>, o que el archivador del
      que se quiere extraer está comprimido con
      <span><b class="command">gzip</b></span>.</p></li><li><p><a name="BId-cmdutils-pa114"></a><tt class="option">j</tt>: Igual que
      <tt class="option">z</tt>, pero el programa usado para la compresión es
      <span><b class="command">bzip2</b></span>.</p></li><li><p><a name="BId-cmdutils-pa115"></a><tt class="option">p</tt>: 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.</p></li><li><p><a name="BId-cmdutils-pa116"></a><tt class="option">r</tt>: Agregar la lista de
      archivos dada en la línea de comandos a un archivador existente.
      Note que el archivador al cual quiere agregar archivos
      ¡<span class="emphasis"><em>no</em></span> debe estar comprimido!</p></li><li><p><a name="BId-cmdutils-pa117"></a><tt class="option">A</tt>: Añadir los
      archivadores que se dan en la línea de comandos al que se da con
      la opción <tt class="option">f</tt>. Al igual que con la opción
      <tt class="option">r</tt>, los archivadores no deben estar comprimidos
      para que esto funcione.</p></li></ul></div><p><a name="BId-cmdutils-pa118"></a>Hay muchas, muchas, muchas otras
    opciones, para una lista completa querrá consultar la página Man
    <span class="citerefentry"><span class="refentrytitle"><a name="BId-cmdutils-rt3"></a>tar</span>(1)</span>. Vea,
    por ejemplo, la opción <tt class="option">d</tt>. Ahora, sigamos con un
    poquito de práctica. Digamos que quiere crear un archivador con
    todas las imágenes en <tt class="filename">/shared/images</tt>,
    comprimirlo con <span><b class="command">bzip2</b></span>, que va a llamar
    <tt class="filename">images.tar.bz2</tt> y ubicarlo en su directorio
    personal. Entonces, ingresará:</p><p><a name="BId-cmdutils-pa119"></a>
<a name="BId-cmdutils-sc15"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
#
# Nota: ¡debe encontrarse en el directorio desde el
#   que quiere archivar los archivos!
#
$ cd /shared
$ tar cjf ~/images.tar.bz2 images/
</pre></td></tr></table><p>
</p><p><a name="BId-cmdutils-pa120"></a>Como puede ver, aquí hemos usado tres
    opciones: <tt class="option">c</tt> le dijo a <span><b class="command">tar</b></span> que queríamos
    crear un archivador, <tt class="option">j</tt> le dijo que lo queríamos
    comprimir con <span><b class="command">bzip2</b></span>, y <tt class="option">f ~/images.tar.bz2</tt>
    le dijo que el archivador se iba a crear en nuestro directorio
    personal, con el nombre <tt class="filename">images.tar.bz2</tt>. Ahora
    queremos verificar si el archivador es válido. Simplemente lo
    podemos hacer listando sus archivos:</p><p><a name="BId-cmdutils-pa121"></a>
<a name="BId-cmdutils-sc16"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
# Volver a nuestro directorio personal
#
$ cd
$ tar tjvf images.tar.bz2
</pre></td></tr></table><p>
</p><p><a name="BId-cmdutils-pa122"></a>Aquí, le dijimos a <span><b class="command">tar</b></span> que liste
    (<tt class="option">t</tt>) los archivos del archivador
    <tt class="filename">images.tar.bz2</tt> (<tt class="option">f
    images.tar.bz2</tt>), le advertimos que el archivador estaba
    comprimido con <span><b class="command">bzip2</b></span> (<tt class="option">j</tt>), y que queríamos
    un listado largo (<tt class="option">v</tt>). 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 <tt class="filename">/shared</tt>. Pero como no quiere arruinar su
    comando <span><b class="command">find</b></span> para las imágenes nuevas, necesita conservar
    todos los atributos del archivo:</p><p><a name="BId-cmdutils-pa123"></a>
<a name="BId-cmdutils-sc17"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">
#
# cambiar al directorio donde quiere extraer
#
$ cd /shared
$ tar jxpf ~/images.tar.bz2
</pre></td></tr></table><p>
</p><p><a name="BId-cmdutils-pa124"></a>¡Y eso es todo!</p><p><a name="BId-cmdutils-pa125"></a>Ahora, digamos que quiere extraer sólo el
    directorio <tt class="filename">images/cars</tt> del archivador, y nada
    más. Entonces puede ingresar esto:</p><p><a name="BId-cmdutils-pa126"></a><a name="BId-cmdutils-sc18"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">$ tar jxf ~/images.tar.bz2 images/cars</pre></td></tr></table><p><a name="BId-cmdutils-pa127"></a>Si esto le preocupa, que no lo haga. Si
    intenta respaldar archivos especiales, <span><b class="command">tar</b></span> los tomará como
    lo que son, archivos especiales, y no volcará su contenido.
    Entonces, sí, se puede poner <tt class="filename">/dev/mem</tt> en un
    archivador <span><b class="keycap">:-)</b></span> ¡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 <tt class="option">h</tt> en la página
    Man.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="command-bzip2"></a>bzip2 y gzip: Programas de compresión
    de datos</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa128"></a><a class="indexterm" name="BId-cmdutils-it6"></a> <a class="indexterm" name="BId-cmdutils-it7"></a>Puede ver que ya hemos
     hablado de estos dos programas cuando tratábamos con <span><b class="command">tar</b></span>.
     A diferencia de <span class="application">WinZip</span> bajo <span class="application">Windows</span>, el archivador
     y la compresión se hacen usando dos utilitarios separados –
     <span><b class="command">tar</b></span> para el archivador, y los dos programas que
     presentaremos ahora para la compresión de datos: <span><b class="command">bzip2</b></span> y
     <span><b class="command">gzip</b></span>. También existen otros utilitarios de compresión para
     <span class="application">GNU/Linux</span> tales como <span><b class="command">zip</b></span>, <span><b class="command">arj</b></span> o <span><b class="command">rar</b></span> (pero
     no se usan con frecuencia).</p><p><a name="BId-cmdutils-pa129"></a>Al principio, <span><b class="command">bzip2</b></span> había sido
    escrito como un reemplazo de <span><b class="command">gzip</b></span>. Sus relaciones de
    compresión generalmente son mejores, pero por otra parte, toma más
    memoria. La razón por la cual todavía está aquí <span><b class="command">gzip</b></span> es que
    todavía es más usado que <span><b class="command">bzip2</b></span>.</p><p><a name="BId-cmdutils-pa130"></a>Ambos comandos tienen una sintaxis
    similar:</p><p><a name="BId-cmdutils-pa131"></a><a name="BId-cmdutils-sc19"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">gzip [opciones] [archivo(s)]</pre></td></tr></table><p><a name="BId-cmdutils-pa132"></a>Si no se especifica un nombre de
    archivo, tanto <span><b class="command">gzip</b></span> como <span><b class="command">bzip2</b></span> esperarán datos de la
    entrada estándar y enviarán los resultados a la salida estándar.
    Por lo tanto, puede usar ambos programas en tuberías. También ambos
    programas tienen un conjunto de opciones en común:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa133"></a><tt class="option">-1</tt>, ...,
      <tt class="option">-9</tt>: Configuran la relación de compresión. A
      mayor número, mejor compresión, pero mejor también significa más
      lenta: “<span class="quote">dar para recibir</span>”.</p></li><li><p><a name="BId-cmdutils-pa134"></a><tt class="option">-d</tt>: Descomprimir
      el(los) archivo(s). Esto es equivalente a usar <span><b class="command">gunzip</b></span> o
      <span><b class="command">bunzip2</b></span>.</p></li><li><p><a name="BId-cmdutils-pa135"></a><tt class="option">-c</tt>: Volcar el
      resultado de la compresión/descompresión de los archivos pasados
      como parámetros a la salida estándar.</p></li></ul></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Aviso</th></tr><tr><td colspan="2" align="left" valign="top"><p><a name="BId-cmdutils-pa136"></a>Predeterminadamente, tanto
     <span><b class="command">gzip</b></span> como <span><b class="command">bzip2</b></span> borran el o los archivos que han
     comprimido (o descomprimido) si no usa la opción
     <tt class="option">-c</tt>. Con <span><b class="command">bzip2</b></span> lo puede evitar usando la
     opción <tt class="option">-k</tt> pero, <span><b class="command">gzip</b></span> ¡no tiene tal
     opción!</p></td></tr></table></div><p><a name="BId-cmdutils-pa137"></a>Ahora, algunos ejemplos. Digamos
    que quiere comprimir todos los archivos que terminan con
    <tt class="literal">.txt</tt> en el directorio corriente usando
    <span><b class="command">bzip2</b></span>, entonces usará:
    
<a name="BId-cmdutils-sc20"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">$ bzip2 -9 *.txt</pre></td></tr></table><p>
    
    Digamos que quiere compartir su archivado de imágenes con alguien,
    pero dicha persona no tiene <span><b class="command">bzip2</b></span>, sólo tiene <span><b class="command">gzip</b></span>.
    No necesita descomprimir el archivador y volver a comprimirlo,
    simplemente puede descomprimirlo a la salida estándar, usar una
    tubería, comprimir desde la entrada estándar y volver a
    direccionar la salida al archivador nuevo:
  
<a name="BId-cmdutils-sc21"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">bzip2 -dc imagenes.tar.bz2 | gzip -9 &gt;imagenes.tar.gz</pre></td></tr></table><p>
    
    Y eso es todo. Podría haber ingresado <span><b class="command">bzcat</b></span> en lugar de
    <span><b class="command">bzip2 -dc</b></span>. Hay un equivalente para <span><b class="command">gzip</b></span>
    pero su nombre es <span><b class="command">zcat</b></span>, no <span class="emphasis"><em>gzcat</em></span>.
    También tiene <span><b class="command">bzless</b></span> (y <span><b class="command">zless</b></span>, respectivamente) si
    quiere ver un archivo comprimido directamente, sin tener que
    descomprimirlo. Como ejercicio, intente encontrar el comando que
    tendría que ingresar para ver los archivos comprimidos sin
    descomprimirlos, y sin usar <span><b class="command">bzless</b></span> o <span><b class="command">zless</b></span></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="command-sheduling.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="cmdutils.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="command-many.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">Programar la ejecución de comandos </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> Mucho, mucho más...</td></tr></table></div></body></html>