El comando Tail Linux muestra la última parte (de forma predeterminada hay 10 líneas que aparecen al final) de uno o más archivos o salida de datos en el prompt Linux. También se puede usar para monitorear cambios de archivos en tiempo real. Suele utilizarse para observar y analizar logs u otros archivos que cambian […]
El comando Tail Linux muestra la última parte (de forma predeterminada hay 10 líneas que aparecen al final) de uno o más archivos o salida de datos en el prompt Linux. También se puede usar para monitorear cambios de archivos en tiempo real.
Suele utilizarse para observar y analizar logs u otros archivos que cambian con el tiempo, generalmente, combinado con otras herramientas, como grep. En este artículo, comprenderás cómo usar el comando tail Linux a través de ejemplos prácticos y explicaciones de las características más comunes de este comando.
Sintaxis del comando tail
Hay muchos tipos de comandos disponibles para mostrar el contenido de un archivo. Los más utilizados son: cat, more, less, head y tail. Para leer un archivo completo, se utilizan los comandos cat, more y less.
Los comandos head y tail son usados para leer una parte específica del archivo. El primero se usa para leer un archivo desde el principio, mientras el segundo se usa para leer el archivo desde el final.
Puedes utilizar cualquier archivo existente o crear uno nuevo para probar las funciones de los comandos head y tail. Aquí, usaremos un nombre de ejemplo solo para ilustrar.
Antes de explicar como usar el comando Linux tail, comencemos por revisar la sintaxis básica. Las expresiones del comando tail tienen el siguiente formato:
- tail [OPCIÓN]… [ARCHIVO]…
OPCIÓN / OPTION – opciones de tail. A continuación vemos cuáles son estas opciones aplicables al comando tail linux.
ARCHIVO / FILE – nombre de archivo de entrada. En general, cuando no se especifica ningún archivo, o si el archivo tiene una salida “–”, tail lee una entrada estándar.
Systemd y la influencia en el comando tail
Como dijimos, tail Linux es un comando que muestra la información final de un archivo dado, es decir, sus últimas 10 líneas. Generalmente, se agrega nueva información allí, por lo que esta es una forma más eficiente de ver los cambios más recientes.
Además, tail permite monitorear un archivo de la siguiente manera: cada nueva entrada de texto se muestra a medida que se inserta. Por lo tanto, esta es una herramienta interesante para controlar los archivos de registro.
Es importante recordar que muchas distribuciones modernas de Linux han adaptado system manager como sistema de servicio. Junto con este cambio, también ocurrió el cambio de formato para los archivos de registro. Por lo tanto, los archivos ya no se crean en texto plano, sino que se guardan en formato binario.
Por otro lado, el comando tail solo funciona con formatos de texto simple, sin leer archivos binarios. Entonces, después de todo, ¿esto significa que tail Linux no tiene nada más que ofrecer?.
¡Por lo contrario! Este comando hace mucho más que mostrar actualizaciones en tiempo real. Por cierto, vale la pena recordar que el sistema no genera muchos archivos de registro, sino que todavía se crean como archivos de texto sin formato.
¿Cómo usar el comando tail?
En general, en su sintaxis básica, es decir, cuando se usa sin opciones adicionales, el comando tail Linux muestra las últimas 10 líneas, como dijimos.
- tail archivoejemplo.txt
Visualización de un número específico de líneas, ¿cómo se hace?
Para hacer esto, hay una opción llamada -n ( –líneas), que se usa para especificar el número de líneas que deseas que se muestren.
- tail -n <NÚMERO> archivoejemplo.txt
También puedes usar el guión (-) y el número de líneas deseado. Entonces, para mostrar las últimas 50 líneas de un archivo llamado “archivoejemplo”, usarías:
- tail -n 50 archivoejemplo.txt
El siguiente ejemplo muestra el mismo resultado que los comandos anteriores:
- tail -50 archivoejemplo.txt
Visualización de un número específico de bytes, ¿cómo se hace?
Para mostrar un número determinado de bytes, utiliza la opción -c ( –bytes).
- tail -c <NÚMERO> archivoejemplo.txt
Por ejemplo, para mostrar los últimos 500 bytes del archivo “archivoejemplo.txt”, usarías:
- tail -c 500 archivoejemplo.txt
Además, puedes utilizar un sufijo que sirva como multiplicador para especificar el número de bytes mostrados. “B”, por ejemplo, multiplica por 512, mientras que “KB” multiplica por 1.000, mientras “K” multiplica por 1024 y “MB” multiplica por 1.000.000… así sucesivamente.
El siguiente comando muestra los últimos dos kilobytes (2.048) del archivoejemplo.txt:
- tail -c 2k filename.txt
Cómo ver si hay cambios en un archivo
Para monitorear un archivo en busca de cambios, utiliza la opción -f ( –follow):
- tail -f archivoejemplo.txt
Esta opción es particularmente útil para monitorear archivos de registro. Por ejemplo, para mostrar las últimas 10 líneas de un archivo /var/log/nginx/error.log y monitorearlo en busca de actualizaciones, usarías:
- tail -f /var/log/nginx/error.log
Para detener el comando tail Linux mientras estás viendo un archivo, presiona Ctrl+C. Para continuar monitoreando el archivo cuando se vuelve a crear, utiliza -F y la opción deseada.
- tail -F archivoejemplo.txt
Esta opción es útil en situaciones en las que el comando tail está siguiendo un archivo de registro que gira. Cuando se usa con la opción -F, el comando tail f Linux vuelve a abrir el archivo tan pronto como esté disponible nuevamente.
Visualización de varios archivos, ¿cómo se hace?
Supone que se proporcionan varios archivos como entrada para el comando tail. En este caso, lo que sucede es la visualización de las últimas 10 líneas de cada archivo. Siguiendo el código:
- tail archivoejemplo1.txt archivoejemplo2.txt
Como puedes ver, es solo usar las mismas opciones de visualización que la utilizada para un solo archivo. El siguiente ejemplo muestra las últimas 20 líneas de archivoejemplo1.txt y archivoejemplo2.txt:
- tail -n 20 archivoejemplo1.txt archivoejemplo2.txt
Tail utilizado en otros comandos, ¿cómo se hace?
Tail Linux tiene su funcionamiento mejorado por otros comandos. Por ejemplo, para monitorear el archivo de registro de acceso de Apache y mostrar solo las líneas que contienen la dirección IP, usarías:
- tail -f /var/log/apache2/access.log | grep 000.000.00.00
El comando “os” muestra los diez principales procesos en ejecución clasificados por uso de CPU:
- ps aux | sort -nk +3 | tail -5
Usando los comandos head y tail juntos
Si deseas leer el contenido del medio de cualquier archivo, solo los comandos head y tail no pueden resolver el problema. ¡Para resolver este problema tienes que usarlos juntos!
El siguiente comando lee las líneas 2 a 6 del archivoejemplo.txt. Al principio, el comando head recupera las primeras 6 líneas, omitiendo las 5 últimas líneas al valor negativo, mientras el comando tail recupera las últimas 5 líneas de salida del comando head. Vea:
- head -n -5 archivoejemplo.txt | tail -n 5
En resumen:
- tail /file/ejemplo.txt
El ejemplo anterior enumerará las últimas 10 líneas (predeterminado) del archivo /file/ejemplo.txt.
- tail /file/ejemplo.txt -n 100
El ejemplo anterior enumerará las últimas 100 líneas del archivo /file/ejemplo.txt. Cambia de 100 a 50 para mostrar las últimas 50 líneas del archivo.
- tail -f /file/ejemplo.txt
Este ejemplo muestra las últimas 10 líneas y actualiza el archivo a medida que se agregan nuevas líneas. Es un gran comando para ver archivos de registro en tiempo real.
- tail -f /tmp/debug.log –retry
A veces, es posible que el archivo planeado para tail no esté disponible cuando ejecutes el comando, se cree más tarde o se vuelva inaccesible. En este caso, puedes utilizar la opción –retry para seguir intentando abrir el archivo como en el ejemplo anterior.
- tail -c 5 /file/ejemplo.txt
Muestra cualquier número de bytes al final de un archivo, en lugar del número deseado de líneas. Los bytes seleccionados incluyen caracteres de nueva línea, que abarcan varias líneas. Esto se hace usando la opción -c, seguida del número deseado de bytes. En el ejemplo anterior, se imprime los últimos cinco bytes finales del archivo /file/ejemplo.txt.
Esperamos que después de practicar los ejemplos anteriores, puedas aplicar los comandos correctamente.
Comandos relacionados
- Cat: envía contenido de un archivo.
- Head: muestra las primeras líneas de un archivo.
- More: muestra el texto en una pantalla a la vez.
- Pg: navega página por página en archivos de texto.
Conclusión
Ahora deberías tener una buena idea de cómo usar el comando tail Linux y para qué sirve. Como dijimos, es complementarios al comando head, que imprime las primeras líneas de un archivo para la terminal.
¡El comando tail, incluso hoy tiene mucho que aportar! Aunque el acceso a los archivos de registro del sistema ahora se realiza mediante el comando journalctl, en particular, tail tiene su valor cuando se usa juntos con otros comandos linux, como head.
Por lo tanto, el escenario de uso y opciones es diferente, pero todavía hay un lugar especial para servicios públicos tradicionales. ¡Estos comandos mantienen la filosofía Unix de hacer algo bien hecho de manera simple y objetiva!
Si te gustó este artículo, ¡asegúrate de seguir el Blog de HostGator! Publicamos regularmente contenidos sobre tecnología, negocios, marketing y más.