Comando Tail en Linux con ejemplos

El comando de tail, como su nombre indica, imprime el último número N de datos de la entrada dada. Por defecto imprime las últimas 10 líneas de los archivos especificados.

Funcionamiento del Comando tail en Linux

Si se proporciona más de un nombre de archivo, los datos de cada archivo están precedidos por su nombre de archivo.

tail [OPTION]... [FILE]...

Considera dos archivos con el nombre state.txt y capital.txt que contienen todos los nombres de los estados y capitales de India, respectivamente.

$ cat state.txt 
Andhra Pradesh 
Arunachal Pradesh 
Assam 
Bihar 
Chhattisgarh 
Goa 
Gujarat 
Haryana 
Himachal Pradesh 
Jammu y Cachemira 
Jharkhand 
Karnataka 
Kerala 
Madhya Pradesh 
Maharashtra 
Manipur 
Meghalaya 
Mizoram 
Nagaland 
Odisha 
Punjab 
Rajasthan 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
Bengala Occidental
$ cat capital.txt 
Andhra Pradesh 
Arunachal Pradesh 
Assam 
Bihar 
Chhattisgarh 
Goa 
Gujarat 
Haryana 
Himachal Pradesh 
Jammu y Cachemira 
Jharkhand 
Karnataka 
Kerala 
Madhya Pradesh 
Maharashtra 
Manipur 
Meghalaya 
Mizoram 
Nagaland 
Odisha 
Punjab 
Rajasthan 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
Bengala Occidental

El comando tail sin ninguna opción, muestra solo las últimas 10 líneas del archivo especificado.

$ tail state.txt 
Odisha 
Punjab 
Rajasthan 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
Bengala Occidental

Opciones del comando tail en Linux

-n num:

Imprime las últimas líneas num/número en lugar de las últimas 10 líneas. num es obligatorio especificarlo en el comando; de lo contrario, mostrará un error.

La Chuleta de Comandos de Linux Definitiva: Maneja la Terminal como un Profesional

Este comando también se puede escribir sin simbolizar el carácter ‘n’, pero el signo ‘-‘ es obligatorio.

$ tail -n 3 state.txt
Uttar Pradesh
Uttarakhand
West Bengal
OR
$ tail -3 state.txt
Uttar Pradesh
Uttarakhand
West Bengal

El comando de tail también viene con una opción ‘+’ que no está presente en el comando de head. Con esta opción, el comando tail imprime los datos a partir del número de línea especificado del archivo en lugar del final.

Para el comando: tail +n NombreFichero los datos comenzarán a imprimirse desde el número de línea ‘n’ hasta el final del archivo especificado.

$ tail +25 state.txt
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

-c num:

Imprime los últimos ‘num’ bytes del archivo especificado. El salto de línea cuenta como un solo carácter, por lo que si tail imprime un salto de línea, lo contará como un byte.

18 Comandos de Linux que todo Programador debería Conocer

En esta opción es obligatorio escribir -c seguido de num/número positivo o negativo dependiendo del requerimiento.

Por +num , se muestra todos los datos después de omitir num bytes desde el inicio del archivo especificado y por -num , muestra los últimos num bytes del archivo especificado.

Nota: Sin un signo positivo o negativo antes de num, el comando mostrará los últimos num bytes del archivo especificado.

Con números en negativo
$ tail -c -6 state.txt
Bengal
OR
$ tail -c 6 state.txt
Bengal
Con números en positivo
$ tail -c +263 state.txt
Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand

-q:

Se usa si se da más de 1 archivo. Debido a este comando, los datos de cada archivo no van precedidos por su nombre de archivo.

Sin usar la opción -q 
$ tail state.txt capital.txt 
state.txt 
Odisha 
Punjab 
Rajasthan 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
West Bengal 
capital.txt 
Dispur 
Patna 
Raipur 
Panaji 
Gandhinagar 
Chandigarh 
Shimla 
Srinagar 
Ranchi
Con el uso de la opción -q 
$ tail -q state.txt capital.txt 
Odisha 
Punjab 
Rajastán 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
Bengala Occidental Dispur
Patna 
Raipur 
Panaji 
Gandhinagar 
Chandigarh 
Shimla 
Srinagar 

-f:

esta opción es utilizada principalmente por la administración del sistema para monitorear el crecimiento de los archivos de registro escritos por muchos programas de Unix mientras se ejecutan.

22 Comandos de red básicos de Linux que debes conocer

Esta opción muestra las últimas diez líneas de un archivo y se actualiza cuando se agreguen nuevas líneas. A medida que se escriben nuevas líneas en el registro, la consola se actualizará con las nuevas líneas.

El indicador no regresa incluso después de que finaliza el trabajo, por lo que debemos usar la tecla de interrupción para cancelar de este comando.

En general, las aplicaciones escriben mensajes de error en los archivos de registro. Puedes utilizar la opción -f para comprobar los mensajes de error a medida que aparecen en el archivo de registro.

$ tail -f logfile

-v

al usar esta opción, los datos del archivo especificado siempre van precedidos por su nombre de archivo.

$ tail -v state.txt 
==> state.txt <== 
Odisha 
Punjab 
Rajasthan 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
Bengala Occidental

–version:

esta opción se usa para mostrar la versión de tail que se está ejecutando actualmente en el sistema.

$ tail --version 
tail (GNU coreutils) 8.26 
Empaquetado por Cygwin (8.26-1) 
Copyright (C) 2016 Free Software Foundation, Inc. 
Licencia GPLv3+: GNU GPL versión 3 o posterior. 
Este es software libre: eres libre de cambiarlo y redistribuirlo. 
NO HAY GARANTÍA, en la medida permitida por la ley. 
Escrito por Paul Rubin, David MacKenzie, Ian Lance Taylor y Jim Meyering.

Aplicaciones del Comando de tail

¿Cómo usar tail con pipes? (|)

El comando tail se puede canalizar con muchos otros comandos de Unix. En el siguiente ejemplo, la salida del comando tail se proporciona como entrada al comando sort con la opción -r para ordenar los últimos 7 nombres de estado provenientes del archivo state.txt en el orden inverso.

$ tail -n 7 state.txt 
Sikkim 
Tamil Nadu 
Telangana 
Tripura 
Uttar Pradesh 
Uttarakhand 
Bengala Occidental
$ tail -n 7 state.txt | sort -r 
Bengala Occidental 
Uttarakhand 
Uttar Pradesh 
Tripura 
Telangana 
Tamil Nadu 
Sikkim

También se puede canalizar con uno o más filtros para un procesamiento adicional. Como en el siguiente ejemplo, usando el comando cat, head y tail, en cuya salida se almacena en el nombre de archivo list.txt usando la directiva (>).

$ cat state.txt | head -n 20 | tail -n 5  &gt; list.txt
$ cat list.txt
Manipur
Meghalaya
Mizoram
Nagaland
Odisha

Lo que está sucediendo en este comando es que el primer comando cat brinda todos los datos presentes en el archivo state.txt y luego la tubería / pipeline transfiere la salida proveniente del comando cat al comando head.

Comandos para configurar Linux / Debian tras su instalación

El comando principal brinda todos los datos desde el inicio (número de línea 1) hasta el número de línea 20 y transfiere toda la salida proveniente del comando principal al comando final.

Luego, el comando tail proporciona las últimas 5 líneas de los datos y la salida va al nombre del archivo list.txt a través del operador de directiva.

Relacionado

La Chuleta de Comandos de Linux Definitiva: Maneja la Terminal como un Profesional

Nuestro amigo @Mauro García nos deja una impresionante chuleta de comandos para los principiantes de Linux, o por si necesitamos recordar los comandos más utilizados. Además, en la parte final vas a encontrar muy interesantes enlaces con más información, y una breve explicación a contenidos básicos e importantes dentro del manejo de Linux; como es, el conocer los enlaces duros y los enlaces simbólicos. Si quieres, ¡SEGUIR LEYENDO!

Curso de administrador de sistemas Linux para principiantes

Este curso (en inglés) de un mes de duración, va dirigido hacía aquellos que aspiran a conseguir trabajos relacionados con Linux dentro de la industria tecnológica. Como por ejemplo: Un administrador de sistemas Linux junior, o cualquier otro trabajo relacionado con devops o similar. Centrado en el aprendizaje para el manejo de un servidor y en la línea de comandos, pero partiendo totalmente desde cero, y ¡SEGUIR LEYENDO!

Comandos para configurar Linux / Debian tras su instalación

Sistema de actualización sudo apt update &amp;&amp; sudo apt dist-upgrade -y Comprobar grub sudo update-grub Identificar si su sistema operativo se ha instalado en modo UEFI [ -d /sys/firmware/efi ] &amp;&amp; echo "Installed in UEFI mode" || echo "Installed in Legacy mode" Compruebe el orden de arranque sudo efibootmgr -v para ver las entradas de grub sudo efibootmgr -b xxxx -B para eliminar la entrada Códigos ¡SEGUIR LEYENDO!

18 Comandos de Linux que todo Programador debería Conocer

¿Quieres mejorar tus fundamentos de comandos en Unix? Estos son algunos de los comandos básicos de Linux más importantes que todo profesional de TI debería conocer. Como profesional de TI, siempre debes estar familiarizado con los comandos fundamentales de Linux. El estar familiarizado con los comandos de linux facilita el trabajo desde las terminales que te puedes encontrar en cualquier sistema virtualizado o interfaz de servidor. ¡SEGUIR LEYENDO!

15 Ejemplos Básicos de Comandos LS en Linux

El comando ls es uno de los comandos más utilizados en Linux. Creo que el comando ls es el primer comando que puede usar cuando ingresa al símbolo del sistema de Linux Box. Usamos el comando ls a diario y con frecuencia, aunque es posible que no sepamos y nunca usemos todos los trucos disponibles del comando ls. Comandos LS más usados en Linux En este ¡SEGUIR LEYENDO!