tubos y cola -f en linux


2

¿Es posible ejecutar cat logfile | tail -f? Por alguna razón, solo lee el registro inicial, pero luego no actualiza las entradas entrantes. Sé que puedo hacerlo directamente tail -f logfile.

Solo quería saber por qué esto no funciona, y si tail -ftiene que ser siempre primero y luego otra tubería.


1
Es una buena idea dejar el hábito de usar catinútilmente.
Dennis Williamson

Respuestas:


5

Solo hazlo tail -f logfile. Cuando hace el gato primero, está almacenando el archivo tal como está en este momento, y si desea obtener nuevas entradas, deberá volver a colocarlo. Si solo lo hace tail -f logfile, actualizará continuamente la pantalla a medida que se actualiza el archivo (aunque es posible que desee hacerlo tail -F logfile, por lo que continuará funcionando si el archivo de registro se reinicia y se crea uno nuevo).

En otras palabras, se catejecuta una vez y la salida pasa a la cola. Ejecutar tail directamente en el archivo hace que tail se ejecute y permanezca ejecutándose, por lo que continuamente obtienes actualizaciones (con -f, eso es).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.