<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operaciones y filtrado de archivos</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="cmdutils.html" title="Capítulo 5. Los utilitarios de la línea de comandos"><link rel="next" href="command-find.html" title="find: Busca archivos en función de ciertos criterios"></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">Operaciones y filtrado de archivos</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="cmdutils.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-find.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-files"></a>Operaciones y filtrado de archivos</h2></div></div><div></div></div><p><a name="BId-cmdutils-pa3"></a>La mayoría del trabajo de línea de comandos se realiza sobre archivos. En esta sección discutimos cómo mirar y filtrar el contenido de archivos, tomar la información necesaria de los archivos utilizando un único comando, y ordenar archivos.</p><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="command-cat"></a>cat, tail, head, tee: Comandos de impresión de archivos</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa4"></a>Estos comandos tienen casi la misma sintaxis: <a name="BId-cmdutils-sc1"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">nombre_del_comando [opciones] [archivo(s)]</pre></td></tr></table><p> y se pueden usar en una tubería. Todos se utilizan para imprimir parte de un archivo de acuerdo con ciertos criterios.</p><p><a name="BId-cmdutils-pa5"></a>El utilitario <span><b class="command">cat</b></span> concatena archivos e imprime en la salida estándar. Este es uno de los comandos más ampliamente utilizados. Usted puede usar:</p><a name="BId-cmdutils-pl1"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># cat /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa139"></a>para imprimir, por ejemplo, el contenido del archivo de registro de un demonio de correo a la salida estándar<sup>[<a name="id2543485" href="#ftn.id2543485">16</a>]</sup>. El comando <span><b class="command">cat</b></span> tiene una opción muy útil (<tt class="option">-n</tt>) que le permite escribir los números de todas las líneas de salida.</p><p><a name="BId-cmdutils-pa7"></a>Algunos archivos, como los archivos de registro de los demonios (si es que están corriendo) por lo general tienen un tamaño enorme<sup>[<a name="id2543544" href="#ftn.id2543544">17</a>]</sup> y no es muy útil imprimirlos por completo en la pantalla. Por lo general Usted sólo necesita ver algunas líneas del archivo. Puede utilizar el comando <span><b class="command">tail</b></span> para ver las últimas líneas. Por lo tanto, el comando siguiente va a imprimir las últimas 10 líneas del archivo <tt class="filename">/var/log/mail/info</tt>:</p><a name="BId-cmdutils-pl2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa140"></a><tt class="literal">10</tt> es el valor predeterminado si no se especifica parámetro alguno. Si desea mostrar sólo las 2 últimas líneas puede usar la opción <tt class="option">-n</tt>:</p><a name="BId-cmdutils-pl3"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n2 /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa9"></a>El comando <span><b class="command">head</b></span> es similar a <span><b class="command">tail</b></span>, pero imprime las primeras líneas de un archivo. Si se usa sin opciones imprime las primeras 10 líneas del archivo especificado:</p><a name="BId-cmdutils-pl4"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># head /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa141"></a>Al igual que con <span><b class="command">tail</b></span> Usted puede imprimir las primeras 2 líneas de este archivo usando la opción <tt class="option">-n</tt>:</p><a name="BId-cmdutils-pl5"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># head -n2 /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa10"></a>También puede usar estos comandos juntos. Por ejemplo, si desea mostrar sólo las líneas 9 y 10, puede usar un comando donde primero el comando <span><b class="command">head</b></span> va a seleccionar las primeras 10 líneas de un archivo y pasarlas a través de una tubería al comando <span><b class="command">tail</b></span>.</p><a name="BId-cmdutils-pl6"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># head /var/log/mail/info | tail -n2</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa142"></a>La última parte luego seleccionará las últimas 2 líneas y las va a imprimir en la pantalla. De la misma manera, puede seleccionar la línea número 20 contando a partir del final de un archivo:</p><a name="BId-cmdutils-pl7"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n20 /var/log/mail/info | head -n1</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa143"></a>En este ejemplo, le decimos a <span><b class="command">tail</b></span> que seleccione las últimas 20 líneas y las pase por una tubería a <span><b class="command">head</b></span>. Luego, el comando <span><b class="command">head</b></span> imprime la primer línea de los datos obtenidos.</p><p><a name="BId-cmdutils-pa11"></a>Supongamos que deseamos imprimir el resultado del último ejemplo en la pantalla y, a la vez, guardarlo en el archivo <tt class="filename">resultados.txt</tt>. El utilitario <span><b class="command">tee</b></span> nos puede ayudar. La sintaxis del mismo es:</p><a name="BId-cmdutils-sc2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">tee [opciones] [archivo]</pre></td></tr></table><p><a name="BId-cmdutils-pa12"></a>Ahora podemos cambiar el comando anterior de esta manera:</p><a name="BId-cmdutils-pl8"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n20 /var/log/mail/info | head -n1 | tee resultados.txt</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa144"></a>Tomemos otro ejemplo. Deseamos seleccionar las últimas 20 líneas, guardarlas en el archivo <tt class="filename">resultados.txt</tt>, pero imprimir en pantalla sólo la primera de las 20 líneas seleccionadas. Entonces, deberíamos teclear:</p><a name="BId-cmdutils-pl9"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n20 /var/log/mail/info | tee resultados.txt | head -n1</pre></td></tr></table><p><a name="BId-cmdutils-pa13"></a>El comando <span><b class="command">tee</b></span> posee una opción útil (<tt class="option">-a</tt>) que le permite añadir los datos recibidos a un archivo existente.</p><p><a name="BId-cmdutils-pa14"></a>Volvamos al comando <span><b class="command">tail</b></span>. Por lo general, los archivos de registro varían dinámicamente debido a que el demonio constantemente añade acciones y eventos al archivo de registro. Entonces, si desea mirar interactivamente los cambios al archivo de registro puede aprovechar una de las opciones más útiles de <span><b class="command">tail</b></span>, <tt class="option">-f</tt>:</p><a name="BId-cmdutils-pl10"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -f /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa145"></a>En este caso, todos los cambios en el archivo <tt class="filename">/var/log/mail/info</tt> se imprimirán de inmediato en la pantalla. Utilizar el comando <span><b class="command">tail</b></span> con la opción <tt class="option">-f</tt> es muy útil cuando desea saber cómo funciona su sistema. Por ejemplo, mirando a través del archivo de registro <tt class="filename">/var/log/messages</tt>, puede estar al tanto con los mensajes del sistema y varios demonios.</p><p><a name="BId-cmdutils-pa15"></a>En la próxima sección veremos cómo podemos utilizar <span class="application">grep</span> como filtro para separar los mensajes de <span class="application">Postfix</span> de aquellos mensajes que provienen de otros servicios.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="command-grep"></a>grep: Ubicar cadenas de caracteres en archivos</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa16"></a><a class="indexterm" name="BId-cmdutils-it1"></a>Ni el acrónimo (“<span class="quote">General Regular Expression Parser</span>”, Analizador General de Expresiones Regulares), ni el nombre son muy intuitivos, pero su uso es simple. <span class="application">grep</span> busca el patrón pasado como argumento en uno o más archivos. La sintaxis es: <a name="BId-cmdutils-sc3"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">grep [opciones] <patrón> [uno o más archivos]</pre></td></tr></table><p> Si se mencionan varios archivos, los nombres de los mismos precederán a cada línea que muestra los resultados que se corresponden con el criterio de búsqueda. Use la opción <tt class="option">-h</tt> para ocultar estos nombres; use la opción <tt class="option">-l</tt> para obtener sólo los nombres de archivo en los cuales se cumple la condición de búsqueda. El patrón es una expresión regular, aunque generalmente consiste en una palabra simple. Las opciones usadas más frecuentemente son las siguientes:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa17"></a><tt class="option">-i</tt>: realizar una búsqueda que ignore la capitalización. (es decir, que ignore la diferencia entre las mayúsculas y las minúsculas);</p></li><li><p><a name="BId-cmdutils-pa18"></a><tt class="option">-v</tt>: búsqueda inversa. Mostrar las líneas que <span class="emphasis"><em>no</em></span> se corresponden con el patrón;</p></li><li><p><a name="BId-cmdutils-pa19"></a><tt class="option">-n</tt>: mostrar, para cada línea encontrada, el número de línea;</p></li><li><p><a name="BId-cmdutils-pa20"></a><tt class="option">-w</tt>: le dice a <span class="application">grep</span> que el patrón debe corresponderse con una palabra completa, es decir debe aparecer tal cual y no como parte de otra palabra.</p></li></ul></div><p><a name="BId-cmdutils-pa21"></a>Volvamos entonces a analizar el archivo de registro del demonio de correo. Deseamos encontrar todas las líneas en el archivo <tt class="filename">/var/log/mail/info</tt> que contengan el patrón “<span class="quote">postfix</span>”. Entonces tecleamos este comando:</p><a name="BId-cmdutils-pl11"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># grep postfix /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa22"></a>El comando <span class="application">grep</span> se puede utilizar en una tubería. Por lo tanto, podemos obtener el mismo resultado que en el ejemplo previo haciendo esto:</p><a name="BId-cmdutils-pl12"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># cat /var/log/mail/info | grep postfix</pre></td></tr></table><p><a name="BId-cmdutils-pa23"></a>Si deseamos encontrar todas las líneas que no contienen el patrón “<span class="quote">postfix</span>”, deberíamos usar la opción <tt class="option">-v</tt>:</p><a name="BId-cmdutils-pl13"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># grep -v postfix /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa24"></a>Supongamos que deseamos encontrar todos los mensajes acerca de correos enviados satisfactoriamente. En este caso tenemos que filtrar todas las líneas que fueron añadidas al archivo de registro por el demonio de correo (contiene el patrón “<span class="quote">postfix</span>”) y deben contener un mensaje acerca del envío satisfactorio (“<span class="quote">status=sent</span>”):</p><a name="BId-cmdutils-pl14"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># grep postfix /var/log/mail/info | grep status=sent</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa146"></a>En este caso se utiliza a <span class="application">grep</span> dos veces. Esto está permitido, pero no es muy elegante. Podemos obtener el mismo resultado utilizando el utilitario <span><b class="command">fgrep</b></span>. Primero, debemos crear un archivo que contiene los patrones escritos en una columna. Se puede crear tal archivo de la manera siguiente (usamos el nombre <tt class="filename">patrones.txt</tt>):</p><a name="BId-cmdutils-pl15"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># echo -e 'status=sent\npostfix' > ./patrones.txt</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa147"></a>Luego llamamos al comando siguiente donde usamos el archivo <tt class="filename">patrones.txt</tt> con una lista de patrones y el utilitario <span><b class="command">fgrep</b></span> en vez de la “<span class="quote">doble llamada</span>” a <span class="application">grep</span>:</p><a name="BId-cmdutils-pl16"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># fgrep -f ./patrones.txt /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa148"></a>El archivo <tt class="filename">./patrones.txt</tt> puede tener tantos patrones como Usted desee. Cada uno tiene que estar tecleado en una única línea. Por ejemplo, para seleccionar los mensajes acerca de los envíos satisfactorios de correo a <tt class="literal">peter@mandrakesoft.com</tt>, será suficiente añadir esta dirección electrónica en nuestro archivo <tt class="filename">./patrones.txt</tt> ejecutando el comando siguiente:</p><a name="BId-cmdutils-pl17"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># echo 'peter@mandrakesoft.com' >> ./patterns.txt</pre></td></tr></table><p><a name="BId-cmdutils-pa25"></a>Está claro que puede combinar <span class="application">grep</span> con <span><b class="command">tail</b></span> y <span><b class="command">head</b></span>. Si deseamos encontrar los mensajes sobre los últimos correos enviados a <tt class="literal">peter@mandrakesoft.com</tt>, excepto el último, tecleamos:</p><a name="BId-cmdutils-pl18"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># fgrep -f ./patrones.txt /var/log/mail/info | tail -n2 | head -n1</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa149"></a>Aquí aplicamos el filtro descrito arriba y colocamos el resultado en una tubería para los comandos <span><b class="command">tail</b></span> y <span><b class="command">head</b></span>, los cuales seleccionan los últimos valores de los datos recibidos, excepto el último.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="command-wc"></a>wc: Contando elementos en archivos</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa26"></a>El comando <span><b class="command">wc</b></span> (<span class="foreignphrase"><i class="foreignphrase">Word Count</i></span>, Cuenta de palabras) se usa para calcular la cantidad de cadenas y palabras en archivos. También es útil para contar bytes, caracteres, y la longitud de la línea más larga. Su sintaxis es:</p><a name="BId-cmdutils-sc4"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">wc [opciones] [archivo(s)]</pre></td></tr></table><p><a name="BId-cmdutils-pa27"></a>Las siguientes opciones son útiles:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa28"></a><tt class="option">-l</tt>: imprimir la cantidad de líneas nuevas;</p></li><li><p><a name="BId-cmdutils-pa29"></a><tt class="option">-w</tt>: imprimir la cantidad de palabras;</p></li><li><p><a name="BId-cmdutils-pa30"></a><tt class="option">-m</tt>: imprimir la cantidad total de caracteres;</p></li><li><p><a name="BId-cmdutils-pa31"></a><tt class="option">-c</tt>: imprimir la cantidad de bytes;</p></li><li><p><a name="BId-cmdutils-pa32"></a><tt class="option">-L</tt>: imprimir la longitud de la línea más larga en el texto.</p></li></ul></div><p><a name="BId-cmdutils-pa33"></a>El comando <span><b class="command">wc</b></span> imprime la cantidad de líneas nuevas, palabras y caracteres de manera predeterminada. Aquí tiene algunos ejemplos de uso:</p><p><a name="BId-cmdutils-pa34"></a>Si deseamos encontrar la cantidad de usuarios en nuestro sistema, podemos teclear:</p><a name="BId-cmdutils-pl19"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$wc -l /etc/passwd</pre></td></tr></table><p><a name="BId-cmdutils-pa35"></a>Si deseamos saber la cantidad de <span class="acronym">CPU</span>s en nuestro sistema, tecleamos:</p><a name="BId-cmdutils-pl20"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$grep "model name" /proc/cpuinfo | wc -l</pre></td></tr></table><p><a name="BId-cmdutils-pa36"></a>En la sección anterior obtuvimos una lista de mensajes acerca de los correos enviados satisfactoriamente a las direcciones listadas en nuestro archivo <tt class="filename">./patrones.txt</tt>. Si deseamos saber la cantidad de dichos mensajes, podemos enviar los resultados de nuestro filtro por una tubería al comando <span><b class="command">wc</b></span>:</p><a name="BId-cmdutils-pl21"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># fgrep -f ./patrones.txt /var/log/mail/info | wc -l</pre></td></tr></table></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="command-sort"></a>sort: Clasificando el contenido de los archivos</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa37"></a>Aquí tiene la sintaxis de este poderoso utilitario de clasificación<sup>[<a name="id2544810" href="#ftn.id2544810">18</a>]</sup>:</p><a name="BId-cmdutils-sc5"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">sort [opciones] [archivo(s)]</pre></td></tr></table><p><a name="BId-cmdutils-pa39"></a>Consideremos clasificar parte de el archivo <tt class="filename">/etc/passwd</tt>. Como puede ver este archivo no está clasificado:</p><a name="BId-cmdutils-pl22"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ cat /etc/passwd</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa150"></a>Deseamos clasificarlo por el campo <tt class="literal">login</tt>. Entonces tecleamos:</p><a name="BId-cmdutils-pl23"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd</pre></td></tr></table><p><a name="BId-cmdutils-pa40"></a>El comando <span><b class="command">sort</b></span> clasifica datos de manera ascendente comenzando por el primer campo (en nuestro caso, el campo <tt class="literal">login</tt>) de manera predeterminada. Si deseamos clasificar los datos de manera descendente, usamos la opción <tt class="option">-r</tt>:</p><a name="BId-cmdutils-pl24"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort -r /etc/passwd</pre></td></tr></table><p><a name="BId-cmdutils-pa41"></a>Cada usuario tiene su propio <tt class="literal">UID</tt> escrito en el archivo <tt class="filename">/etc/passwd</tt>. Clasifiquemos un archivo de manera ascendente con el campo <tt class="literal">UID</tt>:</p><a name="BId-cmdutils-pl25"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd -t":" -k3 -n</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa151"></a>Aquí utilizamos las siguientes opciones de <span><b class="command">sort</b></span>:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa42"></a><tt class="option">-t":"</tt>: le dice a <span><b class="command">sort</b></span> que el símbolo <tt class="literal">:</tt> es el separador de campos;</p></li><li><p><a name="BId-cmdutils-pa43"></a><tt class="option">-k3</tt>: significa que la clasificación debe hacerse según la tercer columna;</p></li><li><p><a name="BId-cmdutils-pa44"></a><tt class="option">-n</tt>: dice que la clasificación ocurrirá sobre datos numéricos, no alfabéticos.</p></li></ul></div><p><a name="BId-cmdutils-pa45"></a>Se puede hacer lo mismo de manera inversa:</p><a name="BId-cmdutils-pl26"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd -t":" -k3 -n -r</pre></td></tr></table><p><a name="BId-cmdutils-pa46"></a>Note que <span><b class="command">sort</b></span> tiene dos opciones importantes:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa47"></a><tt class="option">-u</tt>: realiza una clasificación estricta: los campos de clasificación duplicados se descartan;</p></li><li><p><a name="BId-cmdutils-pa48"></a><tt class="option">-f</tt>: ignorar capitalización (trata igual a las minúsculas y a las mayúsculas).</p></li></ul></div><p><a name="BId-cmdutils-pa49"></a>Finalmente, si deseamos encontrar el usuario con el mayor <tt class="literal">UID</tt> podemos usar el comando siguiente: <a name="BId-cmdutils-pl27"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd -t":" -k3 -n | tail -n1</pre></td></tr></table><p> donde clasificamos al archivo <tt class="filename">/etc/passwd</tt> de manera ascendente de acuerdo a la columna <tt class="literal">UID</tt>, y enviamos el resultado por medio de una tubería al comando <span><b class="command">tail</b></span> que imprime el primer valor de la lista clasificada.</p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2543485" href="#id2543485">16</a>] </sup>Algunos ejemplos de esta sección están basados en trabajo real con archivos de registro de algunos servidores (servicios, demonios). Debe asegurarse que syslogd esté corriendo (permite el registro de los demonios), también el demonio correspondiente (en este ejemplo <span class="application">Postfix</span>) y que Usted trabaja como <tt class="literal">root</tt>. De todas formas, siempre puede aplicar nuestros ejemplos a otros archivos.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2543544" href="#id2543544">17</a>] </sup>Por ejemplo, el archivo <tt class="filename">/var/log/mail/info</tt> contiene información acerca de todos los correos enviados, mensajes acerca de la recuperación de correo por parte de los usuarios con el protocolo <span class="acronym">POP</span>, etc.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2544810" href="#id2544810">18</a>] </sup>Discutimos a <span><b class="command">sort</b></span> brevemente aquí debido a que se podrían escribir libros completos acerca de sus características.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="cmdutils.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-find.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">Capítulo 5. Los utilitarios de la línea de comandos </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> find: Busca archivos en función de ciertos criterios</td></tr></table></div></body></html>