创建命令历史列表

创建命令历史列表

有没有办法显示n由特定用户执行的最后终端命令组成的列表?

答案1

每个用户都有一个.bash_history文件,存在于他的主目录中。即/home/<USERNAME>/.bash_history。它存储了特定用户执行的所有命令。

您可以使用此文件查看用户执行的命令。(您需要 root 权限才能访问其他用户的文件。)

tail -n /home/<USERNAME>/.bash_history

不要忘记n用实际数字替换。

答案2

如果你的shell是bash,那么最好的方法是使用以下history命令:

(HISTFILE=/home/user/.bash_history; history -c; history -r; history n)

虽然有点复杂,但它提供了history命令的所有好处(例如时间戳,如果您已启用它)。括号 ( ()) 确保命令在子 shell 中运行,并且不会影响当前 shell。

答案3

tail -n /home/userinquestion/.bash_history答案似乎是显而易见的——当然,假设他们使用 bash 作为他们的 shell。

如果打开了终端,它可能尚未将命令写入历史文件。

如果用户不是您自己,则需要使用 su 或 sudo。

答案4

请尝试:

history | tail -n20 > history20.txt

通过将结果发送到文本文件,您可以随时打印、查看、通过电子邮件发送等文本文件。

相关内容