Tutorial del comando tail de Linux para principiantes (5 ejemplos)

A veces quieres controlar qué información nueva se está escribiendo en un archivo (piensa en los archivos de registro), o por cualquier motivo, quieres acceder a las últimas líneas de un archivo. Pues bien, existe una utilidad de línea de comandos que te permite hacer esto en Linux, y se llama tail.

En este tutorial, hablaremos de los fundamentos del comando tail utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, conviene mencionar que todos los ejemplos incluidos en este artículo han sido probados en Ubuntu 22.04 LTS.

El comando tail de Linux

Como ya hemos mencionado, el comando tail muestra la última parte de los archivos que se le suministran como entrada. Su sintaxis es la siguiente:

tail [OPCIÓN]… [ARCHIVO]…

Y esto es lo que dice la página de manual de la herramienta:

Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each with
a header giving the file name. With no FILE, or when FILE is -, read standard input.

A continuación se presentan algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una mejor idea de cómo funciona el comando tail.

Q1. ¿Cómo se usa tail?

El uso básico es muy sencillo: todo lo que tienes que hacer es pasar el nombre del archivo cuyas últimas 10 líneas quieres que muestre la herramienta. Por ejemplo:

tail file1

A continuación se muestran las 10 últimas líneas del archivo2 de mi sistema:

Cómo utilizar el comando tail

Q2. ¿Cómo cambiar el número de líneas que imprime tail?

Como ya sabes, el comando tail imprime 10 líneas por defecto. Sin embargo, puedes cambiar este número utilizando la opción de línea de comandos -n.

tail -n [num] [filename]

Por ejemplo:

tail -n 5 file2

Cómo cambiar el número de líneas de las impresiones de cola

Q3. ¿Cómo hacer que tail imprima un número determinado de bytes?

¿Qué pasa si en lugar de líneas, quieres que tail trate en bytes? Es decir, ¿qué pasa si el requisito es imprimir 20 bytes? Pues bien, esto se puede hacer utilizando la opción de línea de comandos -c.

tail -c [num] [filename]

Por ejemplo:

tail -c 20 file2

Cómo hacer que la cola emita un número determinado de bytes

Q4. ¿Cómo hacer que tail siga los archivos de registro?

Si quieres utilizar tail para seguir las actualizaciones de un archivo (digamos un archivo de registro) en tiempo real, utiliza la opción de línea de comandos -F o –follow.

tail -F [filename]

Por ejemplo:

tail -F file2

Ten en cuenta que -f es igual a ‘–follow=nombre –reintento’.

Aquí tienes algo de información que la página man recoge sobre las opciones -f/-F/–follow:

With --follow (-f), tail defaults to following the file descriptor, which means that even if a 
tail'ed file is  renamed,  tail  will continue  to  track  its end.  This default behavior is not 
desirable when you really want to track the actual name of the file, not the file descriptor 
(e.g., log rotation).  Use --follow=name in that case. That causes tail to track the named file in 
a way that accommodates renaming, removal and creation.

Q5. ¿Cómo forzar a tail a seguir intentando acceder al archivo de entrada?

A veces un archivo puede estar temporalmente inaccesible, algo que puede ocurrir por diversas razones. Para asegurarte de que tail siga intentando abrir el archivo, utiliza la opción –retry.

tail --retry [filename]

Conclusión

Así es como funciona el comando tail. Espero que hayas disfrutado del tutorial, así como que hayas aprendido cosas útiles de él. Te sugerimos que pruebes estos ejemplos en tu PC con Linux, y luego te dirijas a la página man de la herramienta para obtener más información.

También te podría gustar...