欢迎光临
我们一直在努力

麒麟server11命令History的使用方法

一、基本查询与搜索

1、搜索特定命令

# 显示所有包含"ssh"的历史命令
history | grep ssh

# 显示最近20条命令
history 20

# 显示第100-150条命令
history 100 150

2、使用反向搜索(Ctrl+R)

# 按 Ctrl+R 进入反向搜索模式
(reverse-i-search)`':

# 输入关键字,如"ssh"
(reverse-i-search)`ssh': ssh user@192.168.1.100

# 继续按 Ctrl+R 向前搜索下一个匹配
# 按 Enter 执行,按 Ctrl+C 取消

二、快速执行历史命令

1、通过编号执行

# 执行历史记录中第n条命令
!n

# 示例:执行第1024条命令
!1024

2、通过反向引用执行

# 执行上一条命令
!!
# 或
!-1

# 执行倒数第n条命令
!-n
# 示例:执行倒数第三条命令
!-3

3、通过字符串匹配执行

# 执行最近以"ssh"开头的命令
!ssh

# 执行最近包含"grep"的命令
!?grep?

# 执行最近以"vim"开头且包含"conf"的命令
!vim*conf

三、历史记录操作

1、清空历史记录

# 清空当前会话的历史记录
history -c

# 清空历史文件
history -c
> ~/.bash_history
# 或
cat /dev/null > ~/.bash_history

2、删除特定历史记录

# 删除第n条历史记录
history -d n

# 删除多个记录
history -d 100 101 102
# 或
for i in {100..110}; do history -d 100; done

3、保存历史记录

# 立即将内存中的历史记录写入文件
history -a

# 从历史文件中读取记录到当前会话
history -r

# 追加历史文件到当前会话
history -n

例如:将当前会话历史记录写入 /data/history_log

通过登录时间判断

# 获取登录时间
login_time=$(who -u | grep $(whoami) | grep -Eo '([0-9]{2}:){2}[0-9]{2}' | head -1)

# 如果HISTTIMEFORMAT已设置为包含时间,可以过滤
history | grep -A 1000 "$(date +%F) $login_time" > /data/history_log

手动录入

# 查看当前会话的历史记录编号范围
history | tail -5

# 将当前会话的所有历史记录写入文件
history > /data/history_log

# 追加方式写入(保留原有内容)
history >> /data/history_log

四、会话管理

多会话历史记录同步

# 编辑用户配置文件
vim ~/.bashrc
# 实时同步历史记录
shopt -s histappend
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

按会话保存历史记录

# 编辑用户配置文件
vim ~/.bashrc
# 为每个终端会话创建独立历史文件
export HISTFILE="${HOME}/.bash_history.$(tty | sed 's/\\//-/g').$(date +%Y%m%d)"

五、历史命令history增加执行时间显示

要在server11的history命令中显示命令的执行时间,可以设置HISTTIMEFORMAT环境变量。以下是具体配置方法:

1、临时生效(当前会话)

直接在终端执行:

export HISTTIMEFORMAT="%F %T "

之后执行的命令会被记录时间,但之前的历史命令不会显示时间。

2、永久生效

修改bashrc配置文件:

# 编辑用户配置文件
vim ~/.bashrc
# 或使用nano
nano ~/.bashrc

在文件末尾添加:

# 设置历史命令时间格式
export HISTTIMEFORMAT="%Y-%m-%d %T "
# 设置历史记录大小
export HISTSIZE=5000
export HISTFILESIZE=10000
# 忽略重复命令
export HISTCONTROL=ignoredups:erasedups

保存后生效

source ~/.bashrc

赞(0)
未经允许不得转载:171主机测评 » 麒麟server11命令History的使用方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址