ls -rt *.log | tail -1 | xargs less +GF
我将此命令用于tail -f
我的日志,但是当我ctrl+c
退出跟随模式时,它less
也会退出。
我认为这是由于造成的xargs
,因为如果你只是less <file>
,那么shift+F
去遵循它,ctrl+c
就不会少退出。
答案1
less
在管道中使用跟随模式并不是很有用,因为按Ctrl+C会退出整个管道。此外,使用+F
可以消除对 的需求+G
。
对于你的情况,你可以这样做:
less +F $(ls -rt *.log | tail -1)
这将仅跟踪最新的日志文件。您还可以执行以下操作:
less +F $(ls -t *.log)
它将把所有日志文件提供给less
第一个(即最新)文件并跟踪该文件。在这种情况下,退出跟踪模式后,无需退出即可检查其他文件less
。
答案2
在较新的版本中less
(自 581 起,于 2021 年 4 月 18 日发布供一般使用),您可以使用Ctrl+X而不是Ctrl+C来中止follow
命令(+F
),这不会中止管道中的其他程序(xargs
在本例中)。