Windows上有没有类似tail -f这样的命令?
很多时候我们要监听日志文件的演变,在Linux或Unix上可以通过 tail -f filename
命令把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
那么在Windows上有没有类似命令呢?
使用PowerShell实现
你可以使用 Get-Content
或 cat
命令实现 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-bash
从https://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这样的命令?