前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.2 命令历史

8.2 命令历史

作者头像
运维小白
发布2018-02-06 11:03:12
1.2K0
发布2018-02-06 11:03:12
举报
文章被收录于专栏:运维小白运维小白

命令历史

  • history //查看之前的命令
  • .bash_history //存放之前敲过的命令,在 /root/ 目录下
  • 最大1000条 //默认参数值是1000条
  • 变量HISTSIZE
  • /etc/profile中修改 //在其中可编辑HISTSIZE参数
  • HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
  • 永久保存 chattr +a ~/.bash_history //增加隐藏权限,让他人无法删除 !! 表示执行最后一条命令
  • !n 表示运行第几条命令(n表示数字)
  • !echo 表示会在命令历史里面,倒着网上找第一个执行以 echo 开头的命令

查看敲过的命令存放位置

  • 在我们使用过的命令,会存放在用户的家目录下 /root/.bash_history
代码语言:javascript
复制
[root@localhost ~]# ls /root/.bash_history
/root/.bash_history
[root@localhost ~]# cat !$
cat /root/.bash_history
init 0
ping www.baidu.com
dhclient
ping www.baidu.com
yum install -y net-tools

等等等

查看之前敲过的命令

  • history //查看之前敲过的命令
代码语言:javascript
复制
[root@localhost ~]# history
    1  init 0
    2  ping www.baidu.com
    3  dhclient
    4  ping www.baidu.com
    5  yum install -y net-tools
    6  ifconfig

history命令中最多存放1000条历史命令

  • history命令
    • 最多存放1000条
    • 是由环境变量HISTSIZE配置的
      • 这是系统内置的环境变量 HISTSIZE [root@localhost ~]# echo $HISTSIZE 1000 [root@localhost ~]#
        • 有时敲命令的时候,会出来更多的数值
          • 这是因为 还没有真正的写入到文件中去,这些命令临时存放在内存中
  • history -c //把当前内存里面命令历史给清空
代码语言:javascript
复制
[root@localhost ~]# history -c
[root@localhost ~]# history
    1  history
代码语言:javascript
复制
但不会清空 .bash_history 配置文件,仅仅是把历史命令给清空

在敲完命令后,直接到配置文件中查看,会发现其中并没有存在 这是因为仅存在内存中,只有在退出终端的时候,才能够保存到配置文件中去

环境变量HISTSIZE在 /etc/profile 中配置

  • vim /etc/profile //在文件中修改环境变量的参数
    • 进入后 /HISTSIZE 搜索,并修改参数 HISTSIZE=5000
    • 在修改完参数后,要使参数生效,需
      • 方法1:需要重进一下终端
      • 方法二:执行 source /etc/profile
代码语言:javascript
复制
[root@localhost ~]# vim /etc/profile    //在里面编辑文件,改变参数

改变参数后,可以重启终端,或者source /etc/profile,发现参数生效
[root@localhost ~]# source !$        //执行命令后,会发现HISTSIZE值变化了
source /etc/profile
[root@localhost ~]# echo $HISTSIZE
5000

记录history查看历史命令时间

  • 记录命令使用的时间,给变量重新赋值,执行 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" 即可
    • 指定变量的格式
代码语言:javascript
复制
[root@localhost ~]# history
    1  history
    2  vim /etc/profile
    3  yum provides "/*/vim"
    4  yum install -y vim-enhanced
    5  vim /etc/profile
    6  source /etc/profile
    7  echo $HISTSIZE
    8  HISTIMEFORMAT="%Y/%m/%d %H:%M:%S"
    9  history
[root@localhost ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
[root@localhost ~]# history
    1  2017/11/15 23:25:28history
    2  2017/11/15 23:35:08vim /etc/profile
    3  2017/11/15 23:35:29yum provides "/*/vim"
    4  2017/11/15 23:53:58yum install -y vim-enhanced
    5  2017/11/15 23:59:04vim /etc/profile
    6  2017/11/16 00:07:14source /etc/profile
    7  2017/11/16 00:07:31echo $HISTSIZE
    8  2017/11/16 00:13:45history
    9  2017/11/16 00:14:49HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
   10  2017/11/16 00:14:51history
   11  
[root@localhost ~]# echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S
代码语言:javascript
复制
这个环境变量仅仅在当前窗口下的终端生效,在打开另一个终端的时候,就会显示空的
也就是说,系统默认这个环境变量是不存在的
    1. 若想这个环境变量一直生效,则需要编辑 /etc/profile
代码语言:javascript
复制
[root@hf-01 ~]# vim /etc/profile

进入配置文件中,在变量HISTSIZE下放入
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
然后 :wq 保存退出
[root@hf-01 ~]# source !$        
source /etc/profile
    1. 在编辑完保存退出后,再source /etc/profile
    1. 这时候,在打开另一个终端
    • 执行echo $HISTTIMEFORMAT 会出现%Y/%m/%d %H:%M:%S
    • 这就表示执行成功,在其他终端下也生效了

命令历史永久保存

  • chattr +a ~/.bash_history //增加隐藏权限,让别人无法删除
    • 增加权限后,就只能追加,而不能被删除
代码语言:javascript
复制
[root@hf-01 ~]# chattr +a ~/.bash_history
[root@hf-01 ~]# 

在运行很多命令后,未正常退出(exit或logout正常退出),直接关闭终端,那刚刚敲的命令就不会完整的保存到 .bash_history 中去

  • !! 表示执行最后一条命令
  • !n 表示运行第几条命令(n表示数字)
  • !echo 表示会在命令历史里面,倒着网上找第一个执行以 echo 开头的命令
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命令历史
    • 查看敲过的命令存放位置
      • 查看之前敲过的命令
        • history命令中最多存放1000条历史命令
          • 环境变量HISTSIZE在 /etc/profile 中配置
            • 记录history查看历史命令时间
              • 命令历史永久保存
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档