有没有办法恢复终端上无法访问的线路的数据?

有没有办法恢复终端上无法访问的线路的数据?

我正在运行一个定期在终端上打印数据的算法。
不幸的是,终端只显示有限数量的行,其他行不再可访问。
它们被删除了吗?或者我可以恢复数据吗?

答案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文件
希望它有帮助!

相关内容