0


Linux之history命令详解

作用

  • 用于显示历史记录和执行过的指令命令
  • 当登录shell或者是退出的时候会自动进行读取和存储

语法

# history (选项)(参数)

参数含义备注n**显示最近的n条记录-a将历史命令缓冲区中命令写入历史命令文件中-c将目前的shell中的所有 history 内容全部消除实际为假删除****-r将历史命令文件中的命令读入当前历史命令缓冲区-w将当前历史命令缓冲区命令写入历史命令文件中-d**删除历史记录中指定的行

部分案例

# 获取历史记录的最新2两条
[root@localhost data]# history 2
 
344  cat data.log | grep 5435
345  printf '%x\n' 20235 # 将20235以16进制输出
 
 
# 执行最后一次命令
[root@localhost data]# !!
 
history
344  cat data.log | grep 5435
345  printf '%x\n' 20235 # 将20235以16进制输出

清除历史记录

  • 历史记录在每次正确的退出shell的时候会存储到 ~/.bash_history文件中
  • 直接进行编辑该文件能达到清除历史记录的目的

全部删除历史记录

# 清空当前历史记录(只是清空缓存中的历史记录,伪删除)[root@localhost ~]# history -c# 将当前缓存中的历史记录写入文件(缓存中的记录是空的-用空的数据写入文件,将文件内部删除)[root@localhost ~]# history -w

删除某一行数据

# 删除358行历史记录(这样可以有针对性的保留历史记录)[root@localhost ~]# history -d 358

Vim修改.bash_history文件

# 通过vim或者是vi命令直接修改.bash_history文件[root@localhost ~]# vi ~/.bash_history

参数配置

  • 修改**/etc/profile**文件

命令时间展示(HISTTIMEFORMAT)

# 显示命令时间[root@localhost ~]# export HISTTIMEFORMAT='%F %T '[root@localhost ~]# history12020-08-04 20:26:10 hisotry -w

命令大小(HISTSIZE)

#将HISTSIZE设置为0,代表禁用history[root@localhost ~]# export HISTSIZE=0# 设置命令保存的行数,超过的话会自动删除最老的数据[root@localhost ~]# export HISTSIZE=100000[root@localhost ~]# export HISTFILESIZE=100000

历史记录文件名称(HISTFILE)

# 设置历史记录的文件名称为history.cmd[root@localhost ~]# export HISTFILE=history.cmd

剔除连续相同命令 (HISTCONTROL)

# 剔除连续的相同命令的条目,仅剩余一条[root@localhost ~]# export HISTCONTROL=ignoredups

强制不记住某命令

# 在不想被记住的命令前面输入一个空格-就不会被记住[root@localhost ~]# export HISTCONTROL=ignorespace#忽略pwd、ls命令[root@localhost ~]# export HISTIGNORE="pwd:ls:"

当前shell终止history记录

  • PS :set +o history 命令会被记录到历史记录中
# 设置当前shell内的命令不再进入日志中[root@localhost data]# set +o history

结束隐藏命令记录

  • PS :set -o history 命令不会被记录到历史中
# 设置当前shell内的重新进入日志中[root@localhost data]# set -o history

参考:https://blog.csdn.net/hu10131013/article/details/107796929

标签: linux vim 运维

本文转载自: https://blog.csdn.net/weixin_41287260/article/details/126115439
版权归原作者 秦时明月之君临天下 所有, 如有侵权,请联系我们删除。

“Linux之history命令详解”的评论:

还没有评论