root用户的bash历史记录保存在哪里?


25

我不是在.bash_history我的主目录中谈论。我通常更喜欢使用sudo -isudo su,然后以root用户身份运行命令。

由于在执行这些命令后,历史记录未保存在.bash_history我的主目录中的文件中,因此我想知道此历史记录是否保存在某处,如果是,在哪里?


我知道,但是我想知道根外壳程序中的命令,并且找到了答案。
Devesh Khandelwal 2014年

我知道,但还是谢谢。
Devesh Khandelwal 2014年

Answers:


32

好了,当您以root身份登录时,bash历史记录将保存在/root/.bash_history文件中,该文件/root是root用户的默认主目录。为了证明这一点,请在以root用户身份登录时运行以下命令:

echo $HISTFILE

$HISTFILE变量指向包含您的历史记录的文件。

资源: $HISTFILE

通常,当您登录另一个用户帐户时,bash历史记录将保存在.bash_history该用户主目录中的一个文件中。

此外,如果要将root用户的bash历史记录保存在另一个文件中,请在.bash_history我的主目录中的file中说,您必须编辑/root/.bashrc文件,并在文件末尾添加新行,内容如下:

HISTFILE="/home/username/.bash_history"       #change username with your user name

1

我习惯于通过键盘上的向上键使用快捷方式列表,该显示了该用户最后一次使用的命令。如果您以root身份登录,则将显示root用户的历史记录。

像这样进行测试sudo -i,输入密码,然后按键盘上的向上键。现在,您将以最新到最旧的顺序滚动浏览最后使用的命令。

我知道RaduRădeanu的答案就是您想要的。但这也解决了眼前的问题。我的解决方案更多是一种方便的方式来记住旧命令,这可以节省时间和精力。


我知道向上键并经常使用它。我想要的是完整的历史记录文件,感谢您的澄清。
Devesh Khandelwal 2014年

@DeveshKhandelwal不是您想要的解决方案,但其他人可能会觉得有用。Radu的答案很好,这只是一个不同的答案。:)
Alvar

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.