我想创建在终端中输入的所有命令的日志

Sie*_*rix 6 command-line gnome-terminal log

我想要在终端上输入的所有命令的日志。

我已经检查了“脚本”,但这会生成一个包含命令和响应的文件。有没有办法只拥有命令?

Ste*_*zzo 7

用户手动输入终端的所有内容都保存在 中~/.bash_history,其中~是当前登录用户主目录的简写。另请注意,以 a 开头的文件.是隐藏的;在 Nautilus 中,您可以通过点击Ctrl+来显示它们H

打字看一下

cat .bash_history
Run Code Online (Sandbox Code Playgroud)

要查看您的历史记录,用序列号进行注释,请键入

history
Run Code Online (Sandbox Code Playgroud)

!2129例如,您可以通过键入 再次执行您在那里看到的命令,这将执行命令编号 2129,如history命令所示。

请注意,该history命令最多显示第二个日志,而.bash_history仅在您从终端注销后才保存。

一小段有趣的信息:

  • 以空格开头的命令不会保存到.bash_history. 如果您运行类似 的命令rm -R mydir/,您可能希望在它前面加上一个空格,以防止通过点击向上箭头而意外再次运行它。

正如 Jo?o 所说,保存的历史记录的大小可以通过export HISTFILESIZE=5000.


Joã*_*nto 7

如果您使用的是默认 shell,则所有命令都已记录到 $HOME/.bash_history 。有几个环境变量会影响历史记录,您可以通过以下方式阅读:

info bash
Type: / HIST
Run Code Online (Sandbox Code Playgroud)

如果要将设置应用于所有用户,请编辑 /etc/profile。

例子:

export HISTFILESIZE=5000
Run Code Online (Sandbox Code Playgroud)