linux - 在 Linux 中,创建文本文件后如何打印输出?

标签 linux cat tail

我有一个名为/home/myuser/tmp* 的文件,该文件被短暂创建,记录一条输出消息,然后被删除。我需要查看该输出,但它最多只存在一秒钟(我正在使用一个烦人的开源程序)。是否有一些像“tail -f/home/myuser/tmp*”这样的命令可以在该文件创建后立即显示该文件的内容?

最佳答案

尝试打开另一个终端并编写一个尝试复制文件的循环。 在导致创建文件的操作之前启动它。创建脚本完成后,按 CTRL-C 终止其他 session 中的循环并查看它是否创建了保存的文件。您可能需要尝试几次,但它应该在某个时候捕获该文件!

while :
do
  cp /home/myuser/tmpfile /home/myuser/tmpfile.sav 2>/dev/null
done

也许创建该文件的进程只是将其追加到该文件(如果该文件已存在)。如果是这样,并且您知道它的名称是什么,请使用该名称创建一个空文件,并在另一个终端 session 中对其执行 tail -f 操作,然后在第一个终端中运行该程序。不在循环中,只是一个 tail -f tmpfile

关于linux - 在 Linux 中,创建文本文件后如何打印输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841778/

相关文章:

ruby - 如何使用 system() 杀死已生成子进程的进程?

linux - 如何通过 iPKG 在 Synology 上安装 Postgres

linux - Raven DB 4.1.2 在 Java 中挂起流式查询

regex - 隐藏猫提示错误

ruby-on-rails - Rails 开发日志

linux - 如何使用别名来grep日志文件的尾部?

c++ - 输入/输出从命令行可执行文件重定向到文件

linux - 为什么 cat 命令在脚本中不起作用

unix - 连接多个文件,但包含文件名作为节标题

Java Scanner 不会跟踪文件