Est-ce que moins a une fonctionnalité comme la queue --follow = name (-F)

41

La commande lesspeut être utilisée pour remplacer taildans

tail -f file

pour fournir des fonctionnalités telles que la gestion de la sortie binaire et la navigation dans le défilement:

less +F file

Le +préfixe signifie "prétend que je tape cela après le démarrage" et la clé Fcommence à suivre.

Mais peut lessaussi remplacer

tail --follow=name file

qui suit filemême si le fichier réel est supprimé ou déplacé, comme un fichier journal déplacé vers file.log.1, puis un nouveau fichier est créé avec le même nom que le fichier suivi?

Volker Siegel
la source
1
Vous pouvez essayer avec less --follow-nameouless --follow-name +F
don_crissti
@don_crissti Nice ... less --follow-name +Fest-ce - aucune idée de la façon dont j'ai manqué cela - j'étais à peu près sûr d'avoir consulté la page de manuel pour follow... étrange. Faites-en une réponse!
Volker Siegel
Eh bien, certaines recherches plus approfondies révèlent que cela a déjà été demandé et que la réponse est donnée ici, alors je vais le laisser comme commentaire. Vous pouvez toujours upvoter la réponse là-bas.
don_crissti
@don_crissti C'est vrai ... sauf que votre réponse correcte n'y figure pas - --follow-nameest décrite, mais +Fn'est jamais mentionnée, et je pense que c'est assez important car ce n'est pas assez connu à l'évidence.
Volker Siegel
Si vous êtes venu ici à cause d'une recherche Google less follow, LISEZ LA QUESTION. Il répond déjà comment faire pour lesssuivre les modifications de fichier!
Hubert Grzeskowiak

Réponses:

40

Oui, lesspeut suivre par nom de fichier

La fonctionnalité a une syntaxe assez obscure:

less --follow-name +F file.log

Avec moins, --follow-nameest différent de l' tailoption --follow=name.
Il ne fait pas lesssuivre le fichier, mais il modifie le comportement de la clé de commande Fen respectant moins à suivre en fonction du nom du fichier, pas du descripteur de fichier.

De plus, il n’ya pas d’option normale pour démarrer lessen mode suivi.
Mais vous pouvez utiliser la ligne de commande pour donner aux touches à exécuter après le démarrage, en les préfixant avec +.
La combinaison de l'option de modificateur avec +F, lesscommencera réellement dans le mode suivi (modifié).

Utiliser +Fseul pour l'équivalent de plain tail -f:

less +F file.log
Volker Siegel
la source
Je suppose que si vous suivez un flux infini avec moins, cela épuisera votre mémoire car, contrairement à tail -f, la quantité de mémoire utilisée n'est pas limitée par la limite de défilement terminal (sauf si la limite de défilement terminal est également infinie). less + F doit conserver l'historique complet du défilement et ne peut pas compter sur le rechargement de tranches à partir d'un fichier sur le disque dur.
CMCDragonkai
@CMCDragonkai Point intéressant. lessdispose d'options pour contrôler la taille de la mémoire tampon utilisée par fichier ( -bet -B), il n'est pas évident pour moi de savoir si la taille est limitée par défaut.
Volker Siegel
La page de manuel for -Bindique que "Par défaut, lorsque des données sont lues à partir d’un canal, les mémoires tampons sont allouées automatiquement selon les besoins. Si une grande quantité de données est lue à partir du canal, une grande quantité de mémoire peut être allouée. L'option -B désactive cette allocation automatique de mémoires tampons pour les canaux, de sorte que seul le 64 Ko (ou la quantité d'espace spécifiée par l'option -b) soit utilisé pour le canal. ". Cela signifie donc que lors de la lecture à partir d'un tuyau infini, la mémoire infinie est allouée par défaut, mais si la lecture d'un fichier ressemble à un fichier journal, 64 K tranches sont utilisées par défaut.
CMCDragonkai
4

Dans Fedora, au moins moins a une option + F qui suit le contenu d’un fichier, exactement comme le fait tail -f.

Mise à jour, essayez de frapper F en moins pour basculer en mode suivi également

utilisateur1529413
la source
Êtes-vous sûr? Mon moins a une option en conflit portant le même nom, -F: La page de manuel de moins dit: -F or --quit-if-one-screen. Quelle version de lessvous avez? Le mien dit less 458avec l'option -V.
Volker Siegel
Très intéressant, merci pour le lien! Cela ne semble pas être un gnou de moins. La première ligne complète de less -Vest less 458 (GNU regular expressions). S'il vous plaît donnez-moi votre version.
Volker Siegel
Oui, j'en suis sûr, mais votez, votez pour moi, stackexchange doit partager l'amour
user1529413
1
Juste pour être sûr que vous pensiez que je vous ai voté contre: non, je vous ai voté.
Volker Siegel