使用 tail -F 查看实时更改的文件

Adr*_*fas 5 linux bash shell tail

我有一个脚本,用于收集不断输入的文件的大小。我将其大小回显到日志文件(echo 'filesize is $size' > log.txt),所以我只有最后的大小信息。所以,只有一行。

现在,在另一个终端中,我想拖尾该日志文件以查看其大小实时增加。事实证明, tail -f path/to/file 给了我想要的输出,但它一直跳到下一行(我猜是预期的)。

所以,输出是这样的:

$ tail -F log.txt 2>/dev/null
filesize is 1.658 GB
filesize is 1.659 GB
filesize is 1.659 GB
filesize is 1.660 GB
Run Code Online (Sandbox Code Playgroud)

我想要更像命令“less”的东西,你没有光标回来。也许一个更好的例子是“mtr”,它不断更新屏幕上的信息而不去下一行(与traceroute相反)。

谢谢,

Ore*_*ail 6

使用此命令。

watch tail -n 1 log.txt
Run Code Online (Sandbox Code Playgroud)


Jak*_* M. 6

while [ 1 ]; do sleep 1; clear; tail log.txt; done
Run Code Online (Sandbox Code Playgroud)

这没有将命令和参数传递给的缺点watch(有时您需要跳额外的循环以使其正确),并且它会清除终端。


Ini*_*ian 5

您可以命令每秒watch监控文件更改/差异 ( -d)n

watch -n 5 -d cat log.txt
Run Code Online (Sandbox Code Playgroud)