Tiene menos una característica como cola --follow = name (-F)

41

El comando lessse puede usar para reemplazar tailen

tail -f file

para proporcionar funciones como el manejo de la salida binaria y la navegación hacia atrás:

less +F file

El +prefijo significa "finge que escribo eso después del inicio", y la clave Fcomienza a seguir.

Pero lesstambién puede reemplazar

tail --follow=name file

que sigue fileincluso si el archivo real se elimina o se elimina, como un archivo de registro al que se mueve file.log.1, y luego se crea un nuevo archivo con el mismo nombre que el archivo seguido.

Volker Siegel
fuente
1
Podrías probar con less --follow-nameoless --follow-name +F
don_crissti
@don_crissti Bonito ... ¿ less --follow-name +Fes? No tengo idea de cómo me perdí eso. Estaba bastante seguro de que busqué en la página del manual follow... extraño. ¡Hazlo una respuesta!
Volker Siegel
Bueno, un poco más de búsqueda revela que ya se ha preguntado y respondido aquí, así que lo dejaré como comentario. Siempre puedes votar la respuesta allí.
don_crissti
@don_crissti Correcto ... excepto que su respuesta correcta no se encuentra allí, --follow-namese describe, pero +Fnunca se menciona, y creo que es bastante importante porque obviamente no se conoce ampliamente.
Volker Siegel
Si vino aquí debido a una búsqueda en Google less follow, LEA LA PREGUNTA. ¡Ya responde cómo hacer los lesssiguientes cambios de archivo!
Hubert Grzeskowiak

Respuestas:

40

Sí, lesspuede seguir por nombre de archivo

La característica tiene una sintaxis bastante oscura:

less --follow-name +F file.log

Con menos, --follow-namees diferente de la tailopción --follow=name.
No hace que lesssiga el archivo, sino que modifica el comportamiento de la tecla de comando Fdentro de less a seguir en función del nombre del archivo, no del descriptor del archivo.

Además, no hay una opción normal para comenzar lessen modo de seguimiento.
Pero puede usar la línea de comando para dar pulsaciones de teclas para ejecutar después del inicio, prefijándolas con +.
La combinación de la opción del modificador con +F, en lessrealidad comenzará en el modo de seguimiento (modificado).

Use +Fsolo para el equivalente de plain tail -f:

less +F file.log
Volker Siegel
fuente
Sospecho que si sigue una secuencia infinita con menos, esto eventualmente agotará su memoria porque, a diferencia de tail -f, la cantidad de memoria utilizada no está limitada por el límite de desplazamiento hacia atrás del terminal (a menos que el límite de desplazamiento hacia atrás del terminal también sea infinito). less + F tiene que preservar todo el historial de desplazamiento hacia atrás, y no puede confiar en recargar segmentos de un archivo en el disco duro.
CMCDragonkai
@CMCDragonkai Punto interesante. lesstiene opciones para controlar el tamaño del búfer utilizado por archivo ( -by -B), no me resulta obvio si el tamaño está limitado de forma predeterminada.
Volker Siegel
La página de manual -Bdice que "de manera predeterminada, cuando los datos se leen desde una tubería, los almacenamientos intermedios se asignan automáticamente según sea necesario. Si se lee una gran cantidad de datos desde la tubería, esto puede causar que se asigne una gran cantidad de memoria". La opción -B deshabilita esta asignación automática de buffers para tuberías, de modo que solo se usan 64 K (o la cantidad de espacio especificada por la opción -b) para la tubería ". Eso significa que cuando se lee desde una tubería infinita, la memoria infinita se asigna de manera predeterminada, pero si se lee desde un archivo como un archivo de registro, entonces se usan 64 K cortes por defecto.
CMCDragonkai
4

En Fedora, al menos, tiene una opción + F que sigue el contenido de un archivo al igual que la cola -f.

Actualización, intente presionar F en menos para alternar para seguir el modo también

usuario1529413
fuente
¿Estás seguro? Mi menor tiene una opción en conflicto con el mismo nombre, -F: La página del manual de menos dice: -F or --quit-if-one-screen. ¿Qué versión de lesstienes? El mío dice less 458con la opción -V.
Volker Siegel el
Muy interesante, gracias por el enlace! Eso no parece ser menos gnu. La primera línea completa de less -Ves less 458 (GNU regular expressions). Por favor dame tu versión.
Volker Siegel el
Sí estoy seguro, pero seguir adelante y hacia abajo voto mí, StackExchange necesita compartir el amor
user1529413
1
Solo para asegurarme de que pensaste que te había rechazado: No, te he votado.
Volker Siegel