$ tail -f testfile
se supone que el comando muestra las últimas entradas en el archivo especificado, en tiempo real, ¿verdad? Pero eso no está sucediendo. Por favor corrígeme, si lo que intento hacer está mal ...
Creé un nuevo archivo "aaa" y agregué una línea de texto y lo cerré. luego emitió este comando (primera línea):
$ tail -f aaa
xxx
xxa
axx
Las últimas tres líneas son los contenidos del archivo aaa. Ahora que el comando aún se está ejecutando (desde que lo usé -f
), abrí el archivo aaa a través de la GUI y comencé a agregar algunas líneas más manualmente. Pero el terminal no muestra las nuevas líneas agregadas en el archivo.
¿Qué pasa aquí? ¿El tail -f
comando solo muestra nuevas entradas si están escritas solo por el sistema? (como archivos de registro, etc.)
fuente
$ tail -F filename
comando todo el tiempo en lugar de$ tail -f filename
¿verdad?lsof
puede mostrar que esto está sucediendo; por ejemplolsof -Fpcftni
, mostraría que el inodo seguido portail
ya no es el mismo que el editor ha abierto.Su editor tiene su propio búfer para el archivo. Cuando modifica el texto en el editor, no se escribe nada en el archivo mismo.
Cuando guarda sus cambios, es probable que el editor simplemente elimine el archivo antiguo y cree uno nuevo.
tail -f
seguirá conectado al archivo eliminado, por lo que no mostrará nada nuevo.fuente
tail
"Actualizar" cada 1 segundo por defecto, no en tiempo real.Prueba con esto (necesitas bash4):
touch ~/output.txt
ytail -f ~/output.txt
.for i in {0..100}; do sleep 2; echo $i >> ~/output.txt ; done
fuente
echo $i >> ~/output.txt
? Además, esta respuesta pierde el punto de la pregunta.tailf
tiene una implementación basada en inotify. Por lo tanto, se actualizará en tiempo real.tailf
, perotail
usa inotify ?. No sabíatailf
. La página de manual de tail muestra el valor predeterminado de 1 segundo para-s
.tail
seguido y ahora también está usando inotify cuando está disponible.tailf
no está sondeando en absoluto, solo durmiendo, cuando no hay actividad en el archivo.tail -f
muestra alguna actividad (verstrace
salida).