linux怎么样显示命令历史后又显示命令的输入时间

linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history
命令后,通常只会显示已执行命令的序号和命令本身。
如果想要查看命令历史的时间戳,那么可以执行:

临时显示

 export HISTTIMEFORMAT='%F %T '
history | more

1 2019-03-05 19:02:39 service network restart
2 2019-03-05 19:02:39 exit
3 2019-03-05 19:02:39 id

永久显示:

需要编辑配置文件才能生效

vim ~/.bashrc

添加上“export HISTTIMEFORMAT='%F %T'”

source ~/.bashrc

使之立即生效。

本例中设置变量名为Display date, 并添加上“export HISTTIMEFORMAT='%F %T       '”


这样显示的格式就变成,序号 - 时间 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450
条:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改历史文件名称
默认情况下,命令历史存储在 ~/.bash_history 文件中。添加下列内容到 .bash_profile 文件并重新登录
bash shell,将使用 .commandline_warrior 来存储命令历史:
# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
3、使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中,pwd 命令被连续执行了三次。执行 history 后会看到三条重复的条目。要剔除这些重复的条目,可以将
HISTCONTROL 设置为 ignoredups:
# export HISTCONTROL=ignoredups
4、使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成
erasedups:
# export HISTCONTROL=erasedups
5、使用 -c 选项清除所有的命令历史
如果你想清除所有的命令历史,可以执行:

# history -c

6、使用 HISTIGNORE 忽略历史中的特定命令
下面的例子,将忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”

附:history的语法

history(选项)(参数)

-N: 显示历史记录中最近的N个记录;
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中;
-d<offset>:删除历史记录中第offset个命令
-n<filename>:读取指定文件

history 5 #查看历史执行记录后 5 条

原文地址:https://www.cnblogs.com/ling-yu-amen/p/10531994.html