有没有办法显示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
通过将结果发送到文本文件,您可以随时打印、查看、通过电子邮件发送等文本文件。