我有兴趣了解命令的终端输出是否记录在某处。
因为这可能有点太笼统了,那么cat
(和ccat
)具体来说?如果我cat
在文件上使用,我在终端上得到的输出是否会记录在某处?
答案1
在任何常规 shell 中,例如 bash、ksh、csh、sh 等,答案是否定的。如果您正在运行某种启用审计的 shell,例如 Beyond Trust(以前称为 Symark)的 Power Broker,这是任何人的猜测,但如果有人决定支付相当多的钱来许可这些审计,那么很可能它会被记录工具。
如果您的问题是弄清楚有人是否可以看到您所做的恶意内容或错误,那么在系统上工作时,cat 的输出可能会显示这种不幸,以及您的系统是否正在受到主动监控(例如在许多首字母缩略词之一下)例如 SOX、HIPAA、PCI 等)您可能会发现自己陷入困境。如果您只是好奇,Linux 系统在其开箱即用的配置中会执行类似的操作,我相信您会感到失望。
答案2
默认情况下,否。但这可以通过使用轻松完成script
命令。.bashrc
如果您希望它在每个终端中执行,您可以将其调用放入您的代码中。
答案3
许多终端仿真器至少将窗口的内容保留在内存中,通常会积压数百或数千行;用户看到的任何内容都会出现在那里。这些数据很可能永远不会保存到磁盘上,但如果某些终端能够将其写入某处,我不会完全感到惊讶。