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 開頭的命令