1. history作用



linux的history命令的作用是,记录执行过的命令。


用法:


history [n]  n为数字,列出最近的n条命令


-c  将目前shell中的所有history命令消除


history [-raw] histfiles


-a 将目前新增的命令写入histfiles, 默认写入~/.bash_history


-r  将histfiles内容读入到目前shell的history记忆中


-w 将目前history记忆的内容写入到histfiles


[plain] 
​​ view plain​​​
​​​ copy​​
1. shell > history
2. 34 14-10-28 16:19:24 ll
3. 35 14-10-28 16:19:26 vim test
4. 36 14-10-28 16:19:33 ll
5. 37 14-10-28 16:19:34 ll


[plain] 
​​ view plain​​​
​​​ copy​​
1. shell > history 3
2. 1032 14-11-02 16:10:41 history
3. 1033 14-11-02 16:10:46 history |more
4. 1034 14-11-02 16:11:15 history 3



使用! 执行历史命令。



! number 执行第几条命令



! command 从最近的命令查到以command开头的命令执行



!! 执行上一条



[plain] 
​​ view plain​​​
​​​ copy​​
1. shell > !1046
2. history 3
3. 1045 14-11-02 16:22:38 head ~/.bash_history
4. 1046 14-11-02 16:35:37 history 3
5. 1047 14-11-02 16:35:48 history 3
6. shell > !!
7. history 3
8. 1046 14-11-02 16:35:37 history 3
9. 1047 14-11-02 16:35:48 history 3
10. 1048 14-11-02 16:35:52 history 3
11. shell > !head
12. head ~/.bash_history
13. #1414484377
14. cd update/
15. #1414484377



2. history配置修改





history记录的行数



[plain] 
​​ view plain​​​
​​​ copy​​
1. shell > echo $HISTSIZE
2. 1000
3. shell >


配置文件在/etc/profile中修改



[plain] 
​​ view plain​​​
​​​ copy​​
1. HISTSIZE=1000
2. export HISTSIZE




想要让linux的history命令显示时间,history是默认不带时间,



在/etc/profile 中增加



[plain] 
​​ view plain​​​
​​​ copy​​
1. export HISTTIMEFORMAT="%y-%m-%d %H:%M:%S "



[plain] 
​​ view plain​​​
​​​ copy​​
1. shell > head ~/.bash_history
2. #1414484377
3. cd update/
4. #1414484377
5. ll
6. #1414484388
7. vim address
8. #1414484439
9. ll
10. #1414484440
11. ll
12. shell >



3. 同一账号同时多次登录写入history





普通情况下, 当以bash登录系统时,系统会从~/.bash_history读取以前运行的命令



当注销时,把最新的1000(HISTSIZE)条命令更新到~/.bash_history文件中。



也可以使用history -w强制立刻写入,仅保留最新的。





当同一账号,同时登录多个bash时,只有最后一个退出的会写入bash_history,其他的都被覆盖了。





4. Ctrl+r 反向查询历史命令





使用Ctrl+r反向查询历史命令,将匹配的最新一条显示出来



如果还想继续向上查询,继续按Ctrl+r



[plain] 
​​ view plain​​​
​​​ copy​​
1. shell > history 3
2. 1048 14-11-02 16:35:52 history 3
3. 1049 14-11-02 16:36:11 head ~/.bash_history
4. 1050 14-11-02 16:41:05 history 3
5. (reverse-i-search)`his': head ~/.bash_history