Linux 命令历史

命令历史:shell进程会在其会话中保存此前用户提交执行过的命令;

~]#history

定制history的功能,可通过环境变量实现;

HISTSIZE:shell进程可保留的命令历史的条数;

~]# echo $HISTSIZE

1000

HISTFILE:持久保存命令历史的文件;

.bash_history

~]# cat .bash_history

HISTFILESIZE:命令历史文件的大小;

~]# echo $HISTFILE

/root/.bash_history

~]# echo $HISTFILESIZE

1000

                    

命令用法:

  history [-c] [-d 偏移量] [n]

  或history -anrw [文件名]

  或history -ps 参数 [参数...]

   -a:追加本次会话新执行的命令历史列表至历史文件中

   -c:清空命令历史;

   -d:删除指定命令历史

   -r:从文件读取命令历史至历史列表中

   -w:把历史列表中的命令追加至历史文件中

   history #:显示最近的#条命令

                   

调用命令历史列表中的命令:

  !#:再一次执行历史列表中的第#条命令

  !!:再一次执行上一条命令:

  !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

      注意:命令的重复执行有时候需要依赖于幂等性;

调用上一条命令的最后一个参数;

快捷键:ESC,.

        字符串:!$

控制命令历史记录的方式:

环境变量:HISTCONTROL

~]# echo $HISTCONTROL

     ignoredups     #忽略重复的命令;

     ignorespace:   忽略以空格开头的命令

     ignoreboth:    以上两者同时生效

修改变量的值:

  NAME='VALUE'

 ~]#HISTCONTROL=ignorespace


命令示例:

可保留命令条数:

1
2
[root@note1 ~]# echo $HISTSIZE            #保留1000条
1000

历史文件位置:

1
2
[root@note1 ~]# echo $HISTFILE            #由于是隐藏文件,可使用ls -a查看
/root/.bash_history

清空history:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@note1 ~]# history -c       #清空历史
[root@note1 ~]# history          #没有命令了
    1  history
[root@note1 ~]# cat -n .bash_history         #清除的只是history中记录.bash_history没有清空
     1  history
     2  cat .bash_history 
     3  history -r
[root@note1 ~]# history -r       #使用-r参数读书命令历史(.bash_history)到history中
[root@note1 ~]# history          #再次输入history,能查看历史命令了
    1  history
    2  history -r
    3  history
    4  cat .bash_history

调用历史命令列表中的命令:

历史命令中第292条命令是curl -I www.baidu.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
  290  echo $HISTFILE
  291  echo $HISTFILESIZE
  292  curl -I www.baidu.com
  293  history
[root@note1 ~]# !292                       #!292表示执行第292条历史命令
curl -I www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.14
[root@note1 ~]# !curl                      #!curl表示执行最近一次带有curl的命令
curl -I www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.14

调用上一条命令最后一个参数:

1
2
3
[root@note1 ~]# echo $HISTFILESIZE
1000
[root@note1 ~]# ls $HISTFILESIZE           # $HISTFILESIZE参数是按ESC键再按.回车后显示的

 



      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1832758,如需转载请自行联系原作者




上一篇:商砼遇上边缘云 让视频发挥“智慧之眼”的业务价值


下一篇:手把手教您如何购买视图计算服务