Linux: ¿alguna forma de mantener abierto un archivo de registro de actualización en vivo en la terminal?

47

Esto debe haberse hecho antes: quiero mantener un archivo de registro abierto en la terminal para poder monitorear las actualizaciones a medida que ocurren. Mis búsquedas vienen con todo menos esta situación ... Debo estar perdiendo alguna terminología o algo clave, porque la gente hace esto todo el tiempo dentro de otros programas (NetBeans o servidor de rails, por ejemplo).

wulftone
fuente
44
Ah, lo he encontrado. tail -f myfile.log. Eso lo hace muy bien. Amo linux
wulftone

Respuestas:

10

De otra manera:

watch tail -n20 your.log

OK, una especie de uso tonto de watch, pero puede encontrar el watchcomando útil para otras cosas.

Robin Green
fuente
55
La watchopción es mejor para los archivos que serán renombrados / eliminados y recreados (ya sea por operación normal o por algo como logrotate) durante el tiempo que está viendo, de lo contrario tail -fes más eficiente.
David Spillett
66
@David: tail -Fmaneja eso.
Grawity
@grawity: ¡Gracias, aprendes algo nuevo todos los días!
David Spillett
3

Una alternativa a la respuesta de @ cYrus es:

less +F file.log

El beneficio es que lesstambién puede truncar largas líneas para usted con la -Sbandera, evitando que se envuelvan alrededor de la pantalla del terminal mientras le permite desplazarse hacia la izquierda / derecha. En lugar de tail -f file.logpasar cuto algo similar, puede simplemente:

less -S +F file.log
Severyn Kozak
fuente