我知道“history”命令会给我提供我在 Unix 终端中输入的命令的列表。
如何查看当前登录系统的所有用户的命令历史记录?
答案1
/var/run/utmp
您可以在(参见)中获取当前登录用户的列表man 5 utmp
。历史记录存储在 ~/.history 中,对于 bash 用户则存储在 ~/.bash_history 中。其他 shell 可能使用其他历史记录文件,因此获取所有信息并不容易。
此外,如果用户多次登录,.bash_history 文件并不总是可靠的。
要读取该utmp
文件,有一个名为的“前端” who
,因此您也可以编写一个 shell 脚本来遍历当前登录的用户。
答案2
echo $HISTFILE
然后查看该文件。