我正在运行一个定期在终端上打印数据的算法。
不幸的是,终端只显示有限数量的行,其他行不再可访问。
它们被删除了吗?或者我可以恢复数据吗?
答案1
我认为这是不可能的。不过,有很多解决方案(变通方法)。试试这些:
# scrolls page by page, only scrolls downwards
command |& more
# scrolls line by line, can scroll up and down
command |& less
# copies output to the file '~/file' (use '-a' argument to append)
command |& tee "~/file" # displays in terminal as well
# redirects output to file '~/file' (use '>>' instead of '>' to append)
command 2>&1 > "~/file"
注意:'redirect' 不会在终端中显示输出(完全重定向将其复制到文件中),'copy' 将其显示在终端中和副本将其添加到文件中
此外,您应该能够设置终端“行缓冲区”以显示更多行命令输出(尽管它最终仍会填满)
回答你的问题,数据被销毁了。
答案2
如果算法将打印的内容放在文本文件中,那么您可以从该文件中查看数据。否则,数据不存在。解决问题的一种方法是将算法结果定向到文本文件,将算法设为 cron 作业,然后您可以定期使用它cat textfile
来查看数据。如果您需要更多关于将其设为 cron 作业的说明,请告诉我。
答案3
我不知道如何从终端恢复。但你可以使用其他方法。
使用:>>并将输出发送到文件,您可以轻松查看完整数据,并根据需要保存以供日后使用。
例如:
$ ls >>check.txt它将发送输出ls到检查.txt
和
$./a.out>>test1.txt
执行后的输出出发送至文本1.txt文件
希望它有帮助!