Este artículo fue publicado originalmente en go2linux.org el 5 de mayo de 2007. El dominio ya no me pertenece, pero soy el autor original. Lo republico aquí en garron.me con correcciones y mejoras.
Este comando es el opuesto de head — en lugar de mostrar el comienzo de un archivo, muestra el final.
También tiene una característica muy práctica: si se usa con la opción -f, el comando sigue el archivo y muestra las nuevas líneas a medida que se van agregando. Esto es extremadamente útil cuando estás depurando y monitoreando archivos en el directorio /var/log.
Uso
tail [opciones] [lista-de-archivos]
Opciones
-c=[+]n[u]
tail cuenta bytes en lugar de líneas. Muestra los últimos n bytes especificados en la opción n. El parámetro [u] es opcional e indica la unidad:
b= bytesk= kilobytesm= megabytes
Si agregas el signo + antes de n, tail cuenta desde el inicio en lugar del final, mostrando desde la línea +n en adelante.
-f
Después de mostrar la última línea del archivo, tail permanece abierto y espera nuevas líneas, mostrándolas en cuanto se escriben. Se puede especificar más de un archivo en [lista-de-archivos], y tail indicará de cuál archivo proviene cada nueva línea.
-n [+]n[u]
Es la opción por defecto. Funciona como -c pero cuenta líneas en lugar de bytes. También se puede especificar el parámetro [u] para unidades y usar el signo + para contar desde el inicio del archivo en lugar del final.
La página del manual
TAIL(1) TAIL(1)
NAME
tail - output the last part of files
SYNOPSIS
tail [OPTION]... [FILE]...
DESCRIPTION
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.
-c, --bytes=N
output the last N bytes; alternatively, use +N to output bytes
starting with the Nth of each file
-f, --follow[={name|descriptor}]
output appended data as the file grows; -f, --follow, and
--follow=descriptor are equivalent
-n, --lines=N
output the last N lines, instead of the last 10; or use +N to
output lines starting with the Nth
--pid=PID
with -f, terminate after process ID, PID dies
-q, --quiet, --silent
never output headers giving file names
-s, --sleep-interval=S
with -f, sleep for approximately S seconds (default 1.0) between
iterations
-v, --verbose
always output headers giving file names