Describe la tail
utilidad GNU . La diferencia entre estos dos indicadores es que si abro un archivo, un archivo de registro, por ejemplo, así:
$ tail -f /var/log/messages
... y si la función de rotación de registros en mi máquina decide rotar ese archivo de registro mientras veo que se escriben mensajes en él ("rotar" significa eliminar o mover a otra ubicación, etc.), la salida que veo simplemente detener.
Si abro el archivo tail
así:
$ tail -F /var/log/messages
... y nuevamente, el archivo gira, la salida continuará fluyendo en mi consola porque tail
volvería a abrir el archivo tan pronto como esté disponible nuevamente, es decir, cuando los programas que escriben en el registro comenzaron a escribir en el nuevo /var/log/messages
.
En los sistemas BSD gratuitos, no hay -F
opción, pero tail -f
se comportará como lo tail -F
hace en los sistemas GNU, con la diferencia de que recibe el mensaje
tail: file has been replaced, reopening.
en la salida cuando el archivo que está monitoreando desaparece y vuelve a aparecer.
PUEDES PROBAR ESTO
En una sesión de shell, haz
$ cat >myfile
Eso ahora esperará a que escribas cosas. Simplemente adelante y escriba algunas galimatías, unas pocas líneas. Todo se guardará en el archivo myfile
.
En otra sesión de shell (tal vez en otra terminal, sin interrumpir elcat
):
$ tail -f myfile
Esto mostrará el contenido (final de) myfile
en la consola. Si vuelve a la primera sesión de shell y escribe algo más, esa salida se mostrará inmediatamente tail
en la segunda sesión de shell.
Ahora salga cat
presionando Ctrl+Dy elimine el myfile
archivo:
$ rm myfile
Luego corre el gato otra vez:
$ cat >myfile
... y escribe algo, unas pocas líneas.
Con GNU tail
, estas líneas no aparecerán en la segunda sesión de shell (donde tail -f
todavía se está ejecutando).
Repita el ejercicio con tail -F
y observe la diferencia.