博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
8.2 命令历史
阅读量:6719 次
发布时间:2019-06-25

本文共 3058 字,大约阅读时间需要 10 分钟。

hot3.png

命令历史

  • 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
[root@localhost ~]# ls /root/.bash_history/root/.bash_history[root@localhost ~]# cat !$cat /root/.bash_historyinit 0ping www.baidu.comdhclientping www.baidu.comyum install -y net-tools等等等

查看之前敲过的命令

  • history //查看之前敲过的命令
[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 $HISTSIZE1000[root@localhost ~]#
        • 有时敲命令的时候,会出来更多的数值
          • 这是因为 还没有真正的写入到文件中去,这些命令临时存放在内存中
  • history -c //把当前内存里面命令历史给清空

[root@localhost ~]# history -c[root@localhost ~]# history    1  history
但不会清空 .bash_history 配置文件,仅仅是把历史命令给清空

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

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

  • vim /etc/profile //在文件中修改环境变量的参数
    • 进入后 /HISTSIZE 搜索,并修改参数 HISTSIZE=5000
    • 在修改完参数后,要使参数生效,需
      • 方法1:需要重进一下终端
      • 方法二:执行 source /etc/profile
[root@localhost ~]# vim /etc/profile    //在里面编辑文件,改变参数改变参数后,可以重启终端,或者source /etc/profile,发现参数生效[root@localhost ~]# source !$        //执行命令后,会发现HISTSIZE值变化了source /etc/profile[root@localhost ~]# echo $HISTSIZE5000

记录history查看历史命令时间

  • 记录命令使用的时间,给变量重新赋值,执行 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" 即可
    • 指定变量的格式
[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
这个环境变量仅仅在当前窗口下的终端生效,在打开另一个终端的时候,就会显示空的也就是说,系统默认这个环境变量是不存在的
    1. 若想这个环境变量一直生效,则需要编辑 /etc/profile
[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 //增加隐藏权限,让别人无法删除
    • 增加权限后,就只能追加,而不能被删除
[root@hf-01 ~]# chattr +a ~/.bash_history[root@hf-01 ~]#

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

  • !! 表示执行最后一条命令
  • !n 表示运行第几条命令(n表示数字)
  • !echo 表示会在命令历史里面,倒着网上找第一个执行以 echo 开头的命令

转载于:https://my.oschina.net/u/3707314/blog/1573774

你可能感兴趣的文章
使用windbg查看DependencyObject的属性
查看>>
IE首页被篡改(手动修复)
查看>>
基于FPGA的图像处理(二)--System Generator入门
查看>>
DIV+CSS 入门
查看>>
UVa 213 Message Decoding(World Finals1991,串)
查看>>
Everything search syntax
查看>>
BZOJ 3211 弗洛拉前往国家 树阵+并检查集合
查看>>
Windows下一个SlikSVN使用
查看>>
DataTable.Compute 性能慢的问题
查看>>
分层是一种思想
查看>>
Windows系统bug
查看>>
Chrome应用技巧之代码整理。
查看>>
Linux下配置Hadoop 1.2.1
查看>>
Fluentd 例子
查看>>
解决上传服务器端文字乱码
查看>>
Makefile生成器,使用C++和Boost实现
查看>>
ITOO之底层关系
查看>>
算法笔记_141:无向图的欧拉回路判断问题(Java)
查看>>
XX年年终总结---重新飞跃
查看>>
js---06函数传参数
查看>>