web-dev-qa-db-fra.com

Existe-t-il un équivalent de tail -f sous Windows?

Plusieurs fois, je me retrouve dans la situation d'avoir à suivre l'évolution d'un fichier journal sous Windows. Existe-t-il un équivalent de Linux

tail -f <filename>

commande sur un terminal Windows, de préférence sans avoir à installer de logiciel externe? D'autres SO messages parlent de l'installation de programmes tiers.

15
user2233125

Dans Powershell, vous pouvez utiliser Get-Content avec le drapeau -Wait:

Get-Content filename.log -Wait

Vous pouvez raccourcir Get-Content à gc. Cette question suggérée comme doublon possible a une réponse qui mentionne cela et certains paramètres supplémentaires utiles - voir https://stackoverflow.com/a/188126 . Je ne sais pas si c'est vraiment un doublon, cependant, puisque cette question parle d'alternatives générales de Windows à Linux tail, plutôt que de tail -f.

16
nikobelia

Oui. vous pouvez utiliser tail sur Windows, ce qui est un petit prix à payer pour avoir accès à de nombreux outils GNU sur Windows ainsi qu'à tail. Parce que son bundle avec git for windows, son assez fortement testé et stable.

Installez d'abord git-bash de https://gitforwindows.org/

Ensuite, mettez git-bash sur le chemin Windows en utilisant et redémarrez votre poste de travail:

setx path "%path%;C:\Program Files\Git\bin\"

Maintenant, vous devriez pouvoir utiliser tail -n 20 -F logging_file.log pour suivre n'importe quel fichier et afficher les 20 dernières lignes.

Si vous êtes sous Linux/Unix et que vous souhaitez voir en permanence les journaux, vous pouvez utiliser la commande suivante: ssh [email protected] 'bash -c "tail -n 20 -F /c/Users/username/Desktop/logging_file.log"'

3
alpha_989

En utilisation Powershell:

cat .\<file_name> -Tail 10 -Wait
3
Xoxole

Je sais que tu as dit sans programme externe. Mais pour les personnes qui ont déjà installé le sous-système Windows pour Linux (WSL) et qui ne peuvent pas faire fonctionner correctement tail dans Ubuntu 16.04 LTS J'ai trouvé ce fil où quelqu'un a trouvé une solution:

Au cas où quelqu'un trouverait cela via Google, il semble que le support inotify dans WSL soit limité aux accès aux fichiers WSL, pas aux accès aux fichiers win32, vous devez donc dire à tail de ne pas l'utiliser:

tail -f /mnt/c/path/to/file ---disable-inotify

(oui, trois tirets)

1
ChesuCR