在Windows上是否有等效的tail -f?

时间:2016-04-05 15:20:37

标签: windows shell command-line-interface

很多时候,我发现自己处于必须遵循Windows上日志文件演变的情况。是否有相当于Linux

tail -f <filename>
Windows终端上的

命令,最好不需要安装外部软件?其他SO帖子谈论安装第三方程序。

5 个答案:

答案 0 :(得分:12)

在Powershell中,您可以将Get-Content与-Wait标志一起使用:

Get-Content filename.log -Wait

您可以将获取内容缩短为gc。这个问题表明可能的重复有一个答案,提到这个和一些有用的额外参数 -  见https://stackoverflow.com/a/188126。我不确定它是否真的重复,因为这个问题是关于Linux tail的一般Windows替代品,而不是tail -f

答案 1 :(得分:2)

是的。您可以在Windows上使用tail,而要在Windows和tail上访问很多GNU工具,这是一个很小的代价。由于它与git for windows捆绑在一起,因此经过了严格的测试和稳定。

首先从https://gitforwindows.org/安装git-bash

接下来,使用git-bash放在Windows路径上,然后重新启动工作站:

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

现在,您应该可以使用tail -n 20 -F logging_file.log拖尾任何文件并显示最后20行。

如果您使用的是Linux / Unix,并且希望不断查看日志,则可以使用以下命令: ssh username@10.15.3.3 'bash -c "tail -n 20 -F /c/Users/username/Desktop/logging_file.log"'

答案 2 :(得分:1)

在Powershell中使用:

cat .\<file_name> -Tail 10 -Wait

答案 3 :(得分:0)

我知道你说的没有外部程序。但是对于已经安装了 Windows Linux子系统(WSL)的人,他们无法使tail在Ubuntu 16.04 LTS中正常工作,我发现this thread在哪里有人找到了解决方法:

  

万一有人通过Google找到了这个,似乎WSL中的inotify支持仅限于WSL文件访问,而不是Win32文件访问,因此您必须告诉尾巴不要使用它:

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

(是,三个破折号)

答案 4 :(得分:0)

获取内容文件名-等待-tail 1

正如nikobelia所说,这对我有用,只是添加了tail选项,它可以按预期工作!