tail
Muestra las últimas líneas de un archivo y puede seguirlas en vivo.
Imprime el final de un archivo: por defecto las últimas 10 líneas. Con la opción -f se queda pegado al archivo y va mostrando cada línea nueva conforme se escribe, que es como ves lo que pasa en un log mientras trabaja un servidor.
tail [opciones] [ARCHIVO...]Despiece
6 ejemplosVer las últimas 10 líneas
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | tail | Comando | El comando que muestra el final de un archivo. |
| 2 | notas.txt | Argumento | El archivo que quieres revisar. |
Aparecen las últimas 10 líneas de notas.txt. Si el archivo tiene menos, se muestran todas y ya.
Ver las últimas 20 líneas de un log
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | tail | Comando | El comando que muestra el final de un archivo. |
| 2 | -n | Opción | Lines: dice cuántas líneas quieres. |
| 3 | 20 | Valor | La cantidad de líneas: las últimas 20 en vez de las 10 de siempre. |
| 4 | app.log | Argumento | El archivo de log que quieres revisar. |
Salen las últimas 20 líneas del log, que casi siempre son las que acabas de generar. También funciona tail -20 app.log, sin la n.
Ver desde cierta línea hasta el final
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | tail | Comando | El comando que muestra el final de un archivo. |
| 2 | -n | Opción | Lines: con el signo más cambia de significado. |
| 3 | +5 | Valor | Empieza a mostrar desde la línea 5 hacia adelante, así que salta las cuatro primeras. |
| 4 | notas.txt | Argumento | El archivo que quieres mostrar a partir de esa línea. |
Muestra desde la línea 5 hasta el final. Es la forma de quitarle las primeras líneas a un archivo sin abrirlo en un editor, por ejemplo para saltarte un encabezado feo.
Ver los últimos bytes del archivo
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | tail | Comando | El comando que muestra el final de un archivo. |
| 2 | -c | Opción | Bytes: cuenta en bytes en vez de en líneas. |
| 3 | 100 | Valor | Los últimos 100 bytes del archivo. |
| 4 | app.log | Argumento | El archivo del que quieres el pedazo final. |
Muestra los últimos 100 bytes, que pueden ser la mitad de una línea. Sirve para revisar el final de un archivo binario o de un log muy grande sin volcarlo entero.
Ver un log en vivo
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | tail | Comando | El comando que muestra el final de un archivo. |
| 2 | -f | Opción | Follow: se queda esperando e imprime cada línea nueva conforme se agrega. |
| 3 | app.log | Argumento | El log que vas a estar vigilando. |
Primero salen las últimas 10 líneas y después se queda esperando. Cada vez que el archivo crece, las líneas nuevas aparecen solas. No está colgado: sales con Ctrl+C.
Ver en vivo solo lo que me interesa
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | tail | Comando | El comando que muestra el final de un archivo. |
| 2 | -f | Opción | Follow: se queda esperando las líneas nuevas. |
| 3 | app.log | Argumento | El log que se está vigilando. |
| 4 | | | Operador | Pipe: cada línea que tail imprime pasa por grep. |
| 5 | grep | Comando | Filtra las líneas para mostrar solo las que te importan. |
| 6 | error | Valor | La palabra que buscas dentro del log. |
Ves únicamente las líneas que contienen error, en el momento en que se escriben. Con Ctrl+C terminas los dos comandos.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -n--lines=[+]NÚMERO | Muestra las últimas NÚMERO líneas en vez de 10. Con el signo más, como -n +5, salta las primeras 4 líneas y muestra de la quinta en adelante. |
| -c--bytes=[+]NÚMERO | Muestra los últimos NÚMERO bytes, o a partir del byte NÚMERO si le pones el signo más. |
| -f--follow | No termina: se queda esperando e imprime lo nuevo que se agregue al archivo. Se cancela con Ctrl+C. |
| -F | Equivale a --follow=name --retry: sigue al archivo por su nombre, así que si el log rota y se crea uno nuevo, lo vuelve a abrir. También espera si el archivo todavía no existe. |
| -q--quiet | No pone el nombre del archivo arriba cuando le pasas más de uno. También existe como --silent. |
| -v--verbose | Siempre pone el nombre del archivo arriba, aunque le pases un solo archivo. |
| -s--sleep-interval=N | Con -f, espera unos N segundos entre revisiones cuando no puede usar avisos del sistema. Por defecto, 1 segundo. |
Fallas comunes
| Falla | Remedio |
|---|---|
| Confundir -n +5 con -n 5. | Con el signo más, tail -n +5 muestra desde la línea 5 hasta el final. Sin signo, tail -n 5 muestra las últimas 5 líneas. Son cosas distintas y el signo es lo único que las separa. |
| Correr tail -f y pensar que se colgó porque la pantalla no avanza. | Es normal: tail -f está esperando a que le escriban más líneas al archivo, que es justo para lo que sirve. Sales con Ctrl+C. |
| Dejar tail -f sobre un log que rota y ver que dejan de llegar mensajes. | Con -f, tail sigue al descriptor del archivo original, así que si el log se renombra a app.log.1 y se crea un app.log nuevo, se queda escuchando el archivo viejo. Usa tail -F app.log, que además lo vuelve a abrir si cambia. |
| Creer que tail -f vuelve a imprimir todo el archivo cada vez. | Solo imprime el final al arrancar (las últimas 10 líneas, o las que pidas con -n) y de ahí en adelante solo lo nuevo. Para releer el archivo completo usa less app.log. |
Preguntas frecuentes
- ¿Cómo veo las últimas 10 líneas de un archivo?
- Con tail archivo. Por defecto imprime las últimas 10 líneas. Para cambiar la cantidad usa -n, por ejemplo tail -n 25 app.log para las últimas 25.
- ¿Qué hace tail -f y cómo veo un log en tiempo real?
- Es follow: primero imprime el final del archivo y luego se queda esperando e imprime cada línea nueva conforme se agrega, hasta que sales con Ctrl+C. Si el log es enorme, combínalo con grep para ver solo lo que te importa: tail -f app.log | grep error.
- ¿Cuál es la diferencia entre tail -f y tail -F?
- La F mayúscula le dice a tail que siga al nombre del archivo, no al descriptor que ya tenía abierto. Con -f, si tu log rota (se renombra y se crea uno nuevo), tail se queda leyendo el archivo viejo; con -F se mete al nuevo automáticamente.
- ¿Cómo muestro un archivo desde la línea 10 hasta el final?
- Usa el signo más: tail -n +10 archivo. El más le dice a tail que no cuenta desde el final, sino que empieza a mostrar desde esa línea hacia adelante, así que aquí salta las nueve primeras.
- ¿Cómo veo las últimas líneas de varios archivos?
- Pásalos todos a tail: tail -n 5 a.log b.log. Antes de cada bloque sale una etiqueta con el nombre del archivo, para que no se mezclen; con -q las quitas.