linux 终端必须退出 history才会记录吗,Linux-history命令

1.命令说明

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

BASH 将关闭 终端会话时所运行的所有命令,并写入你的历史记录文件。

~/.bash_history

当你同时运行两个会话的时候,history 命令将单独显示当前的会话记录,而不会显示其他的历史会话记录。

2.语法

history: usage: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]

如何查阅最后的“ n ”命令

默认情况下,history 命令显示我们执行的最后1000条命令。如果你只想列出“ n ”个命令,请使用以下命令。

例如,显示最近的10个历史记录,请运行以下命令。

$ history 10

按条件搜索历史命令

$ history | grep rm

$ history | tail -2

清除历史

1.如果想要删除特定命令,请输入 :history -d

2.要清空全部历史记录,请执行:history -c

3. 用法

3.1 设置历史记录的时间

可以在.bash_profile里配置

HISTTIMEFORMAT='%F %T ' #注意有个空格,为了显示时日期与命令之间有空格分割。

3.2 使用 HISTSIZE 控制历史命令记录的总行数

可以在.bash_profile里配置

HISTSIZE=3000 #默认保留1000条。

HISTFILESIZE=3000

HISTFILESIZE 定义了在 .bash_history 中保存命令的记录总数.

HISTSIZE 定义了 history 命令输出的记录数.

如果想禁用history, 可以设置HISTSIZE=0

3.3 使用 HISTFILE 更改保存历史记录文件

可以在.bash_profile里配置

HISTFILE=./$USER-$UID.log

3.4 实时追加history,不必等用户退出才将内存中的history记录到文件

可以在.bash_profile里配置

PROMPT_COMMAND=”history -a”

3.5 使用 HISTCONTROL 强制 history 不记住特定的命令

可以在.bash_profile里配置

HISTCONTROL=ignorespace

然后执行具体命令(如ls)的时候面输入一个空格:

$ (这里前面空一格)ls 123

你可能感兴趣的:(linux,终端必须退出,history才会记录吗)