何时使用‘tail -f’命令?

何时使用‘tail -f’命令?

我遇到过命令行“ tail -f log/[environment_name]”,但不幸的是,我不知道如何使用它以及它如何能为我带来好处?

有人能告诉我如何以及何时可以使用此命令吗?任何完整的解释都将不胜感激。

答案1

它会在类 Unix 环境(Linux、OS X、Windows 中的 Cygwin)中不断将日志文件的输出更新到控制台。

tail -f log/development.log

这将使开发日志在您的控制台/命令窗口中滚动。

代表-f“关注”。请参阅tail 手册页更多细节。

答案2

从系统管理员的角度来看,查看日志条目的出现情况很有用。这有助于排除电子邮件 (SMTP)、Web (Apache) 等服务的故障,因为人们可以准确地看到条目的出现时间与各种事件的触发时间相关。

另一个有用的相关命令是,watch它将按指定的间隔重复命令,每次重复时刷新屏幕。例如,您可以查看文件列表以监视文件大小的增长。或者监视 Hylafax 安装中的传真调制解调器等设备的状态。

答案3

还有tailf,它的功能与 完全相同,tail -f而且输入起来更短。是的,我很懒。当你输入tail -f第 100 次时告诉我。

它通常用于“跟踪”日志或其他恒定输出,以实时查看“正在发生的事情”。

答案4

通常情况下,当系统调用首次返回 0 字节数据时,程序会cat终止read(),并将其视为 EOF(文件结尾)。通常情况下,程序tail也会执行相同的操作;如果不选择此-f选项,它会找到文件结尾并向后读取以找到最后 10 行(默认情况下)。(“向后读取”表示“向后查找并读取一些数据”。)

-f使用 (follow) 选项时,该tail命令会识别 0 字节返回,但不会终止。相反,它会短暂休眠,然后尝试读取更多数据。如果文件是日志文件,并且随着进程(例如,Web 服务器或数据库服务器)写入更多信息而不断增大,则将tail -f或多或少地显示额外信息。

另一个用途是用于长时间运行的编译。您可以将编译设置为在后台运行,并将其输出写入日志文件。在前台,您可以tail -f在日志文件上运行,当您发现问题时,您可以中断tail编译而不会中断编译。

相关内容