记录曾经使用过的每个linux命令行?

记录曾经使用过的每个linux命令行?,linux,shell,Linux,Shell,因此,我对linux的基础知识非常熟悉,而且从未编写过shell脚本。但是我想得到一些东西,或者做一些事情 是否有可能让linux将我键入的所有命令记录在一个文件中?也就是说,每个ls-l和cd/this/文件夹等,还有我所做的安装记录等等 如果这个文件存在,那就太好了。如果有一个为每个会话和用户创建的持久文件,那么也许我可以编写一个脚本来连接这些行。或者,还有哪些其他选择 我希望该文件有3列,用户执行、日期执行和命令字符串的副本。如果返回某种结果或错误,那就太好了。非常感谢一个对Linux的功

因此,我对linux的基础知识非常熟悉,而且从未编写过shell脚本。但是我想得到一些东西,或者做一些事情

是否有可能让linux将我键入的所有命令记录在一个文件中?也就是说,每个ls-l和cd/this/文件夹等,还有我所做的安装记录等等

如果这个文件存在,那就太好了。如果有一个为每个会话和用户创建的持久文件,那么也许我可以编写一个脚本来连接这些行。或者,还有哪些其他选择


我希望该文件有3列,用户执行、日期执行和命令字符串的副本。如果返回某种结果或错误,那就太好了。非常感谢一个对Linux的功能感到惊讶的家伙

假设您正在运行bash,请查看
~/.bash\u历史文件

这不是完整的答案。还要知道,默认情况下,bash_历史记录有一个偏移量限制,并且不会无休止地记录。@Allendar:不,不是;但这是个好主意。这表明OP在他问起这件事之前并没有看太远,或者至少没有告诉我们为什么这样做行不通。稍微调整一下(HISTFILESIZE、HISTTIMEFORMAT、histappend)可能就可以了。我确实看了(这大约是3周前的事),但我的理解是。bash_历史记录只记录了那个会话。有时你会得到一个错误的答案或资源。。。无论如何,这是一个很好的答案,我很感激。好极了。。。我可以编写一个cron作业,它将从每个用户的历史记录中提取,添加一个时间戳(尽管它当然不准确),并将命令、用户和时间戳存储在一个持久文件或数据库中。我只是想知道是否还有其他类似的事情已经发生了。你为什么要问?也许你想要流程会计,恕我直言,不是这样的。这说明了进程终止后的情况。我正在寻找能够解释命令行条目和它们执行时间的东西;如果我需要检查的话,可以追溯到服务器诞生的那一天。看起来我们可以自己写,完成后我会和大家分享。哦,这在概念上类似于ApacheWeblog