Linux日常运维-history

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:

Linux日常运维-主机名&hosts

Linux日常运维-history(本章节)

Linux日常运维-SSHD(一)

Linux日常运维-SSHD(二)

Linux日常运维-ENV(一)

Linux日常运维-ENV(二)

Linux日常运维-任务计划

history 命令用于显示当前 Bash shell 会话的命令历史记录。它会列出已经在当前 shell 会话中执行过的命令,每个命令都有一个对应的序号,可以用来重新执行这些命令。

基本用法

  1. 显示命令历史

    直接在 Bash 终端中输入 history 命令即可显示当前会话中执行过的命令列表,每行一个命令,序号从小到大排列。

history

输出示例:

1  ping qq.com
2  ip a
3  ping 192.168.179.1
4  ping 192.168.179.2
5  cd /etc/sysconfig/network-scripts/
6  vi  /etc/sysconfig/network-scripts/ifcfg-ens33 
7  systemctl restart network

2.使用序号重新执行命令

可以使用 ! 加上命令的序号来重新执行特定的命令。例如,要重新执行历史记录中的第 3 条命令,可以这样:

!3

这将重新执行 ping 192.168.179.1 这条命令。

3.搜索历史记录

可以使用 Ctrl+R 键来搜索历史记录中的命令。按下 Ctrl+R 后,输入关键字(如 vi),Bash 将会显示最近使用过的包含该关键字的命令,按下 Enter 可以执行搜索到的命令。

高级用法

  • 清空整个历史记录

    可以使用 history -c 命令清空当前 shell 会话的所有历史记录。

  • 保存历史记录到文件

    使用 history -w 命令将当前的命令历史记录保存到默认的历史文件(通常是 ~/.bash_history)中,这样即使关闭 shell 会话,历史记录也能被保留。

总结

1.我们通常通过该命令分析曾经执行过的命令,来确定服务器的某些状态是谁执行的,比如谁在什么时候删除了文件,修改了时间等操作。

2.非正常退出是不会保存到历史记录的,必须是正常退出才会自动保存当前shell执行的命令。

3.不同的用户的histroy是独立的 ,因为这个文件是被记录在家目录.bash_history 文件。

4.快速生成1000条的历史命令。

for ((i=1; i<=1000; i++)); do echo "echo Command $i"; history -s "echo Command $i"; done

5.最常用的配置是修改历史命令数量,和添加时间戳及用户功能。

HISTSIZE=10000
export HISTTIMEFORMAT="%F %T $(whoami)"

6.ctrl+r 搜索以后,如果这个命令被执行过多次,可以继续用ctrl+r 继续向前搜索。

关注微信公众号《运维小路》获取更多内容。

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值