history命令使用方法详解
history是一条非常实用的shell命令,可以显示出之前在shell中运行的命令,配合last显示之前登录的用户,就可以追溯是哪个用户执行了某些命令。以下详细说明history使用中常见的命令或技巧,在实际系统管理中,应用得当,可以让工作事半功倍。
使用HISTTIMEFORMAT在历史中显示TIMESTAMP
默认情况下,history并不记录命令的执行时间,分析起来很困难。

# 这时候可以配置HISTTIMEFORMAT环境变量,给history记录添加上时间戳
export HISTTIMEFORMAT="%F %T "

把上面的export命令加入到~/.bashrc中即可在登录后自动开启history时间戳了。
其实HISTTIMEFORMAT的格式就是 strftime函数的格式,比如上面的"%F %T ",%F表示显示出Y-M-D格式的日期,%T表示显示出H-M-S这样格式的时间。更多的格式,可以参考 man strftime。
用Ctrl + R搜索历史命令
本人最常使用的history特性,当你执行了一串相当长的命令之后,你只要用关键字搜索一下历史命令然后重新执行这条命令而不需要将整条命令再输一遍。方法是:按下Ctrl+R然后输入关键字。在以下示例中,我搜索”cat”,则显示以前的命令中含有”cat”的命令“cat anaconda-ks.cfg”。按回车,就可以重新执行这条命令了,而按左箭头键或右箭头键则可以直接修改,改完之后按回车执行,非常方便!
【注:在命令行提示符下按下Ctrl+R,终端将显示如下提示reverse-i-search】

用HISTSIZE控制历史命令的总数
# 内存中的history条数,退出登陆之后会写到~/.bash_history文件里
export HISTSIZE=450
# 文件中存储的最大history条数,文件:~/.bash_history
export HISTFILESIZE=450
# 如果你想禁用history,不让shell记录命令,把HISTSIZE设为0即可
export HISTSIZE=0
使用HISTFILE改变历史文件名
默认情况下,命令历史被储存在.bash_history文件中,把下面的一行添加到.bash_profile文件中,重新登录shell,则新文件将取代.bash_history文件用来储存历史命令。你可以使用这个命令来追踪不同终端中执行的命令,届时只需要将不同终端中所执行的命令保存在不同的历史文件中即可。
[root@rocket ~]# vim ./.bashrc
HISTFILE=/root/my_history
重新登陆可以看到新history file已经生效

使用HISTCONTROL来消除命令历史中的连续重复条目
export HISTCONTROL=ignoredups
使用HISTCONTROL在整个历史中去除重复命令
export HISTCONTROL=erasedups
使用c选项清除所有的历史命令
#清除之前的历史命令
history -c
用HISTIGNORE让history在存储时忽略某些指令
有时你不想在记录里看到诸如“pwd”,ls”之类的基本指令,可以用HISTIGNORE忽略这些指令。
注意在HISTIGNORE中添加“ls”,只忽略“ls”不忽略“ls –l”。一定要准确的写出要忽略的指令。
export HISTIGNORE=”pwd:ls:history”
history命令使用方法详解的更多相关文章
- telnet 命令使用方法详解,telnet命令怎么用
telnet 命令使用方法详解,telnet命令怎么用? 文章类型:电脑教程 原创:天诺时空 什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协 ...
- 【转】Linux中history历史命令使用方法详解
原文网址:http://os.51cto.com/art/201205/335040.htm 当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效 ...
- Linux中history历史命令使用方法详解
当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升.事实上,一旦你掌 握了我在下面给出的15个有关Linux history历史命 ...
- telnet 命令使用方法详解,telnet命令怎么用?
什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具.一旦入侵者与远程主机建立了Telnet ...
- Linux中监控命令top命令使用方法详解
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...
- telnet作用和 命令使用方法详解
什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具.一旦入侵者与远程主机建立了Telnet ...
- telnet 命令使用方法详解
参考自:这里 什么是telnet? 简单来说,可以把telnet当作一种通信协议.但对于入侵者来说,telnet只是一种远程登陆的工具.一旦入侵者与远程主机建立了telnet链接,入侵者便可以使用目标 ...
- [转]gzip,bzip2,tar,zip命令使用方法详解
原文:http://blog.chinaunix.net/uid-20779720-id-2547669.html 1 gzipgzip(1) 是GNU的压缩程序.它只对单个文件进行压缩.基本用法如下 ...
- 【转】linux tail命令使用方法详解
原文网址:http://www.111cn.net/sys/linux/46902.htm linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,通俗讲来,就是把某个 ...
随机推荐
- Chrome的开发必备小技巧
谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...
- ckeditor的详细配置(转)
CKEditor 3 JavaScript API Documentation : http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.con ...
- C++中的类所占内存空间+继承中的成员访问控制
C++学习之继承中的成员访问控制 C++中的类所占内存空间总结
- ES6中的迭代器(Iterator)和生成器(Generator)(一)
用循环语句迭代数据时,必须要初始化一个变量来记录每一次迭代在数据集合中的位置,而在许多编程语言中,已经开始通过程序化的方式用迭代器对象返回迭代过程中集合的每一个元素 迭代器的使用可以极大地简化数据操作 ...
- Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_2
在编写获取路径方法前,我们先把角色须要的动画文件载入进来,角色的文件为png 和 plist格式. player1_anim.png.plist player1_anim.pn ...
- Laravel之HTTP相应
一.基本相应示例 1.返回简单字符串 Route::get('/', function () { return 'Hello World'; }); 给定的字符串会被框架自动转化为 HTTP 响应 2 ...
- 24.JAVA编程思想——违例差错控制
24.JAVA编程思想--违例差错控制 Java 的基本原理就是"形式错误的代码不会执行". 与C++类似,捕获错误最理想的是在编译期间,最好在试图执行程序曾经.然而.并不是全部错 ...
- java web 分页实现
分页实现的效果: ///////// /////////////////////////////////////////////////////// /////////////////// ...
- uva507 - Jill Rides Again(最长连续和)
option=com_onlinejudge&Itemid=8&page=show_problem&problem=448">题目:uva507 - Jill ...
- web前端性能优化汇总
一.概述 web前端性能优化主要点为:减少HTTP请求,减小请求文件大小.其他优化. 二.优化细节 1.减少HTTP请求 (1)使用缓存 (2)雪碧图 (3)合并文件 (4)将javascript和c ...