• Tiempo de lectura:4 minutos de lectura
  • Categoría de la entrada:Sistemas Operativos / Software

El comando tail en Linux muestra las últimas líneas/bloques de cualquier archivo, la cantidad de líneas/bloques depende de las opciones que se pasen al usar el comando.

Salida predeterminada del comando tail

Cuando no se proporcionan opciones, el comando tail imprime las últimas 10 líneas de todos los archivos de entrada proporcionados.

[email protected]:~# cat input.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[email protected]:~# tail input.txt
11
12
13
14
15
16
17
18
19
20

Además de esto, podemos usar el signo + para indicar que la posición es relativa al comienzo de la entrada.

Por ejemplo, tail +15 input.txt imprimirá input.txta partir de la línea número 15, hasta el final del archivo.

[email protected]:~# tail +15 input.txt
15
16
17
18
19
20

Opciones del comando tail de Linux

NOMBRE DE LA OPCIÓN DESCRIPCIÓN
-b ${ NUM } Muestra el último número de bloques de 512 bytes
-c ${ NUM } Muestra los últimos número de bytes del archivo
-F Realiza un seguimiento del descriptor del archivo (solo toma un único nombre de archivo como argumento)
-F Igual que f pero también verifica si el nombre de archivo correspondiente al descriptor de archivo ha cambiado de nombre
-n ${ NUM } Muestra las últimas número líneas del archivo
-r Muestra la entrada en orden inverso. Se puede utilizar en combinación con otras opciones.

1.La opción en bloque (-b)

Formato: tail -Nb input1.txt input2.txt ...

Esto se usa para mostrar los últimos bloques N de 512 bytes de todos los archivos de entrada.

[email protected]:~# tail -1b input.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

2. La opción de caracteres (-c)

Formato:tail -c N input1.txt input2.txt ...

Esto se usa para mostrar los últimos caracteres N (bytes) de todos los archivos de entrada.

[email protected]:~# tail -c 10 input1.txt input2.txt
==> input1.txt <==

18
19
20

==> input2.txt <==

18
19
20

3. La opción de número de línea (-n)

Formato: tail -n N input1.txt input2.txt ..

O

Formato: tail -N input1.txt input2.txt ..

Esta opción muestra las últimas líneas N de todos los archivos de entrada

[email protected]:~# tail -n 10 input.txt
11
12
13
14
15
16
17
18
19
20

4. La opción detallada (-v)

Formato: tail -v input1.txt input2.txt ..

Muestra el encabezado del archivo antes de la salida de ese archivo.

[email protected]:~# tail -v input1.txt input2.txt
==> input1.txt <==
11
12
13
14
15
16
17
18
19
20
==> input2.txt <==
11
12
13
14
15
16
17
18
19
20

Se pueden combinar múltiples opciones -vpara mostrar con los encabezados de archivo correspondientes.

El siguiente comando combina la opción -n con -v mostrando las últimas 5 líneas junto con los encabezados del archivo

[email protected]:~# tail -rn5 input.txt
==> input.txt <==
16
17
18
19
20

5. Las opciones de bandera (-f, -F)

Estos se utilizan principalmente para archivos de registro o cuando es necesario realizar un seguimiento de ciertos archivos importantes.

Esto no se detiene después de llegar al final del archivo, sino que realiza un seguimiento del descriptor del archivo y actualiza la salida cada vez que hay un cambio en el descriptor del archivo.

Este comando solo se puede detener si el descriptor de archivo está cerrado o cuando se recibe la señal de interrupción.


Conclusión

Aprendimos cómo se puede usar el comando tail para mostrar contenido de un archivo de diferentes maneras, según la opción especificada.


Referencias

Página del manual de Linux: http://man7.org/linux/man-pages/man1/tail.1.html