Есть ли эквивалент хвоста -f в Windows?
Много раз я нахожусь в ситуации, когда нужно следить за эволюцией файла журнала в Windows. Есть ли эквивалент Linux
tail -f <filename>
на терминале Windows, желательно без установки внешнего программного обеспечения? Другие сообщения SO говорят об установке сторонних программ.
Ответы
Ответ 1
В Powershell вы можете использовать Get-Content с флагом -Wait:
Get-Content filename.log -Wait
Вы можете сократить Get-Content до gc
. На этот вопрос, предложенный в качестве возможного дубликата, есть ответ, в котором упоминается этот и некоторые полезные дополнительные параметры -
смотрите fooobar.com/questions/24473/.... Я не уверен, действительно ли это дубликат, поскольку этот вопрос говорит об общих альтернативах Windows для Linux tail
, а не о tail -f
.
Ответ 2
Да. Вы можете использовать tail
на окнах, что является небольшой ценой, чтобы получить доступ ко многим инструментам GNU на окнах, а также tail
. Поскольку его комплект с git for windows
, он довольно сильно протестирован и стабилен.
Сначала установите git-bash
из https://gitforwindows.org/
Затем поместите git-bash
в путь Windows и перезагрузите рабочую станцию:
setx path "%path%;C:\Program Files\Git\bin\"
Теперь вы сможете использовать tail -n 20 -F logging_file.log
для хвоста любого файла и показывать последние 20 строк.
Если вы работаете в Linux/Unix и хотите постоянно просматривать журналы, вы можете использовать следующую команду:
ssh [email protected] 'bash -c "tail -n 20 -F /c/Users/username/Desktop/logging_file.log"'
Ответ 3
В Powershell используйте:
cat .\<file_name> -Tail 10 -Wait
Ответ 4
Я знаю, что вы сказали без внешней программы. Но для людей, которые уже установили подсистему Windows для Linux (WSL) и не могут заставить tail
работать должным образом в Ubuntu 16.04 LTS, я нашел эту ветку, где кто-то нашел обходной путь :
В случае, если кто-то обнаружит это через Google, кажется, что поддержка inotify в WSL ограничена доступом к файлу WSL, а не доступом к файлу win32, поэтому вы должны сказать tail не использовать его:
tail -f /mnt/c/path/to/file ---disable-inotify
(yes, three dashes)