Je sais qu'il y avait une commande sous Unix que je pouvais utiliser pour surveiller un fichier et voir les changements qui y sont écrits. C'était très utile, notamment pour vérifier les fichiers journaux.
Savez-vous comment ça s'appelle ?
Je sais qu'il y avait une commande sous Unix que je pouvais utiliser pour surveiller un fichier et voir les changements qui y sont écrits. C'était très utile, notamment pour vérifier les fichiers journaux.
Savez-vous comment ça s'appelle ?
Merci, je pense que c'est celui que je cherchais. Mais est-ce qu'il met à jour en temps réel ? Si ce n'est pas le cas, puis-je modifier l'intervalle ?
Note : Si votre distribution fournit la commande tailf, utilisez-la de préférence à tail -f. tailf est plus efficace car il n'a pas besoin d'accéder au fichier surveillé s'il n'est pas en cours d'écriture (les accès en poll sont ennuyeux si vous avez monté le système de fichiers avec la mise à jour atime).
Vous vouliez probablement dire queue, comme dans la réponse de Jon Skeet.
Un autre outil utile est regarder il vous permet d'exécuter une commande périodiquement et de voir la sortie en plein écran. Par exemple :
watch -n 10 -d ls -l /var/adm/messages
Exécutera la commande ls -l /var/adm/messages
toutes les 10 secondes, et mettez en évidence la différence de sortie entre les exécutions suivantes. (Utile pour observer la vitesse de croissance d'un fichier journal, par exemple).
inotifywait
de inotify-tools est utile si vous voulez exécuter une commande à chaque fois qu'un fichier (ou tout autre fichier dans un répertoire) change. Par exemple :
inotifywait -r -m -e modify /var/log |
while read path _ file; do
echo $path$file modified
done
Il faut savoir que path
n'est pas le meilleur choix pour un nom de variable. Sur zsh
il semble que les variables d'environnement ne soient pas sensibles à la casse. Pour moi, le fait de définir path
causes PATH
et cela signifie que rien ne s'exécutera tant que vous n'aurez pas corrigé cela. Sur bash
, réglage path
n'a aucun effet sur PATH
.
@Thanatos Variables Zsh アール sensibles à la casse, mais parmi les variables définies par Zsh lui-même, Zsh "lie" la variable *PATH
à un tableau du même nom, mais minuscule . Les variables liées sont toujours composées d'un scalaire et d'un tableau (ex. PATH
y path
), et la modification de l'un modifie l'autre. Une caractéristique clé est que la version tableau est automatiquement divisée sur le séparateur dans la version scalaire (le caractère :
). Voyez par vous-même avec print "$PATH\n$path"
. Le deuxième paragraphe de la PARAMETERS USED BY THE SHELL
dans la section zshparam(1)
La page de manuel contient des informations plus détaillées.
Je préfère utiliser less +FG
1 sur tail -f
parce que je me retrouve à devoir rechercher dans un fichier journal une erreur ou un ID spécifique. Si j'ai besoin de rechercher quelque chose, je tape ^C
pour arrêter de suivre le dossier et ?
pour commencer la recherche en arrière.
Les liaisons entre les touches sont à peu près les mêmes que celles de l'application vi
. Toute commande peut être initialisée au démarrage en utilisant la commande +
option :
+cmd Causes the specified cmd to be executed each time a new file is
examined. For example, +G causes less to initially display each
file starting at the end rather than the beginning.
Pour les bûches vraiment longues, je trouve pratique d'utiliser la fonction -n
qui désactive la numérotation des lignes. De la page de manuel :
-n or --line-numbers
Suppresses line numbers. The default (to use line numbers) may
cause less to run more slowly in some cases, especially with a
very large input file. Suppressing line numbers with the -n
option will avoid this problem. Using line numbers means: the
line number will be displayed in the verbose prompt and in the =
command, and the v command will pass the current line number to
the editor (see also the discussion of LESSEDIT in PROMPTS
below).
1. Coup de chapeau à <a href="https://serverfault.com/users/4815/rgmarcha">rgmarcha </a>pour l'avoir signalé dans les commentaires.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.