2019独角兽企业重金招聘Python工程师标准>>>
命令历史
- 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_history
init 0
ping www.baidu.com
dhclient
ping www.baidu.com
yum install -y net-tools等等等
查看之前敲过的命令
- history //查看之前敲过的命令
[root@localhost ~]# history1 init 02 ping www.baidu.com3 dhclient4 ping www.baidu.com5 yum install -y net-tools6 ifconfig
history命令中最多存放1000条历史命令
-
history命令
- 最多存放1000条
- 是由环境变量HISTSIZE配置的
- 这是系统内置的环境变量 HISTSIZE
[root@localhost ~]# echo $HISTSIZE 1000 [root@localhost ~]#
- 有时敲命令的时候,会出来更多的数值
- 这是因为 还没有真正的写入到文件中去,这些命令临时存放在内存中
- 有时敲命令的时候,会出来更多的数值
- 这是系统内置的环境变量 HISTSIZE
-
history -c //把当前内存里面命令历史给清空
[root@localhost ~]# history -c
[root@localhost ~]# history1 history
但不会清空 .bash_history 配置文件,仅仅是把历史命令给清空
在敲完命令后,直接到配置文件中查看,会发现其中并没有存在 这是因为仅存在内存中,只有在退出终端的时候,才能够保存到配置文件中去
环境变量HISTSIZE在 /etc/profile 中配置
- vim /etc/profile //在文件中修改环境变量的参数
- 进入后 /HISTSIZE 搜索,并修改参数
HISTSIZE=5000
- 在修改完参数后,要使参数生效,需
- 方法1:需要重进一下终端
- 方法二:执行 source /etc/profile
- 进入后 /HISTSIZE 搜索,并修改参数
[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" 即可
- 指定变量的格式
[root@localhost ~]# history1 history2 vim /etc/profile3 yum provides "/*/vim"4 yum install -y vim-enhanced5 vim /etc/profile6 source /etc/profile7 echo $HISTSIZE8 HISTIMEFORMAT="%Y/%m/%d %H:%M:%S"9 history
[root@localhost ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
[root@localhost ~]# history1 2017/11/15 23:25:28history2 2017/11/15 23:35:08vim /etc/profile3 2017/11/15 23:35:29yum provides "/*/vim"4 2017/11/15 23:53:58yum install -y vim-enhanced5 2017/11/15 23:59:04vim /etc/profile6 2017/11/16 00:07:14source /etc/profile7 2017/11/16 00:07:31echo $HISTSIZE8 2017/11/16 00:13:45history9 2017/11/16 00:14:49HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"10 2017/11/16 00:14:51history11
[root@localhost ~]# echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S
这个环境变量仅仅在当前窗口下的终端生效,在打开另一个终端的时候,就会显示空的
也就是说,系统默认这个环境变量是不存在的
-
- 若想这个环境变量一直生效,则需要编辑 /etc/profile
[root@hf-01 ~]# vim /etc/profile进入配置文件中,在变量HISTSIZE下放入
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
然后 :wq 保存退出
[root@hf-01 ~]# source !$
source /etc/profile
-
- 在编辑完保存退出后,再source /etc/profile
-
- 这时候,在打开另一个终端
- 执行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 开头的命令