Windows上有没有类似tail -f这样的命令?

很多时候我们要监听日志文件的演变,在Linux或Unix上可以通过 tail -f filename 命令把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

那么在Windows上有没有类似命令呢?

使用PowerShell实现

你可以使用 Get-Contentcat 命令实现 tail -f 的功能。

使用Get-Content命令

1
Get-Content filename.log -Wait

可以将 Get-Content 缩短为gc

但是该命令是将filename.log整个文件显示到标准输出。
那我想显示最后n行或从n行显示到最后该怎么做呢?别急我们先看看tail是如何实现的。

tail显示最后n行

tail -f 是默认显示文件最后10行,如果再加上 -n 参数,则可指定显示文件的尾部的行数。
如下面这条命令表示显示文件最后3行,并动态显示追加内容:

1
tail -n 3 -f ~/Downloads/1

或:

1
tail -n -3 -f ~/Downloads/1

当然你可以省略 -n,也就是:

1
tail -3 -f ~/Downloads/1

tail从n行显示到最后

如果我想从第3行开始显示到最后呢?可使用如下命令:

1
tail -n +3 -f ~/Downloads/1

或:

1
tail +3 -f ~/Downloads/1

可见这些操作使用tail命令时多么的方便呀!

Get-Content显示最后n行

如显示最后3行,使用如下命令:

1
gc filename.log -tail 3 -Wait

使用git-bash实现

首先git-bashhttps://gitforwindows.org/安装

接下来,git-bash使用 Windows 路径并重新启动您的工作站:

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

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

参考

Windows上有没有类似tail -f这样的命令?

https://ganzhixiong.com/p/73f53bd4/

Author

干志雄

Posted on

2021-06-06

Updated on

2021-06-06

Licensed under

Comments