bash魔法堂:History用法详解
Brief
又要敲那条长到没朋友的命令了,真心不再爱了。。。
有了history这条命令我想大家可以再爱一次了吧!
>history
语法: history [n | -c | -raw histfile]
n —— 数字,用于表示罗列最近的n笔命令
-c —— 表示清除history中的所有内容(实质上是清理$HISTFILE中保存的内容)
-a —— 表示将当前会话的自上次执行history -a histfile命令后执行所有命令保存到hisfile文件中,若histfile缺省值为$HISTFILE变量指向的文件(~/.bash_history)
-r —— 表示从histfile读取内容到当前会话的history
-w —— 表示将目前的hitory内容写入histfile中
How 2 execute the command show by "history"
M1. !n
n为数字,表示执行history中指定编号的命令
M2. !cmd
cmd为命令的部分字符串,从最近往最远开始匹配以该字符串开头的首条命令并执行
M3. !! 或 !- 或 Ctrl + p
!和-1表示获取最近一条命令,并执行。(Ctrl + p为快捷键)
M4. !?string? 或 Ctrl + r
string为命令的部分字符串。从最近往最远开始匹配含字符串的首条命令并执行(Ctrl + r为快捷将)
M5. fc n
n为数字,表示执行history中指定编号的命令。但此时会打开一个文本编辑器并显示该条命令,我们可以修改该命令,然后退出编辑器时则会执行修改后的命令。
M6. ^replacedString^newString 或 !:s/replacedString/newString
将上一条命令的replacedString内容替换为newString内容后执行新命令
> ps -ef|grep httpd
> ^httpd^grep
M7. !!&
在执行上一条命令后再执行另一条命令
Fetch Args from History Commnad
!^ 获取上一条命令的第一个参数。
!$ 获取上一条命令的最后一个参数。
!:n 获取上一条命令的第n个参数,n从1开始。(为0时则挑选出命令名称)
!:n-x 获取上一条命令的第n个参数到第x个参数,n和x均从1开始。(为0时则挑选出命令名称)
!* 获取上一条命令的所有参数。
!n* n为数字,获取上一条命令的从第n个参数(含第n个参数)后的所有参数。
!n- n为数字,获取上一条命令的从第n个参数(含第n个参数)后的除了最后一个参数外的所有参数。
Configurations begin with "HIST"
HISTTIMEFORMAT
用于设置history命令的输出格式。
>export HISTTIMEFORMAT='%F %T'
HISTSIZE
用于控制命令历史记录的总条目数。(当设置为0时则为禁用命令历史记录功能)
>export HISTSIZE=
HISTFILE
用于设置命令历史的保存位置,默认保存在~/.bash_history文件中。
>export HISTFILE=~/.cmd_history
HISTCONTROL
剔除连续重复的命令历史条目: >export HISTCONTROL=ignoredups
清理所有重复的命令历史条目: >export HISTCONTROL=erasedups
不记录以空格开头的记录: >export HISTCONTROL=ignorespace
HISTIGNORE
用于设置某些命令将不被保存到历史记录中
>export HISTIGNORE='pwd:ls:ls -ltr:'
上述表示pwd,ls和ls -ltr将不被保存。
注意:上述环境变量均仅对当前会话有效,当退出会话后将失效。若要所有会话均有效则需要将设置写入~/.bash_profile文件中。
Conclusion
通过man 3 history我们可以了解history更多酷炫的玩法!
尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4753904.html ^_^肥仔John
Thanks
http://blog.sina.com.cn/s/blog_5caa94a00100gyls.html
http://blog.csdn.net/yorkingalan/article/details/7166583
bash魔法堂:History用法详解的更多相关文章
- MyBatis魔法堂:ResultMap详解
一.前言 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了, ...
- Java魔法堂:内部类详解
一.前言 对于内部类平时编码时使用的场景不多,比较常用的地方应该就是绑定事件处理程序的时候了(从C#.JS转向Java阵营的孩子总不不习惯用匿名内部类来做事件订阅:().本文将结合Bytecode对四 ...
- .Net魔法堂:log4net详解
一.作用 提供一个记录日志的框架,可以将日志信息记录到文件.控制台.Windows事件日志和数据库(MSSQL.Acess.Oracle.DB2和SQLite等). 二.先看看示例,感受一下吧 c ...
- Java 注解用法详解——@SuppressWarnings
转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html Java魔法堂:注解用法详解——@SuppressWarnings 一.前言 编码时我 ...
- linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...
- Ubuntu kill命令用法详解
转自:Ubuntu kill命令用法详解 1. kill 作用:根据进程号杀死进程 用法: kill [信号代码] 进程ID root@fcola:/# ps -ef | grep sen ...
- linux history 命令详解
linux history 命令详解 显示命令执行时间 linux shell 具有history 功能,即会记录已经执行过的命令,但是默认是不显示命令的执行时间,命令的执行时间,history 已经 ...
- lsof 命令用法详解
lsof 命令用法详解 作用 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所 ...
- Hadoop生态圈-zookeeper的API用法详解
Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...
随机推荐
- StrongSwan 5.1.1 发布,Linux 的 IPsec 项目
StrongSwan是一个完整的2.4和2.6的Linux内核下的IPsec和IKEv1 的实现.它也完全支持新的IKEv2协议的Linux 2.6内核.结合IKEv1和IKEv2模式与大多数其他基于 ...
- mono for android学习过程系列教程(6)
接着上一讲,今天讲的是Button,CheckBox这二个安卓元素, 我们来看第一个Button这个控件,类似winform和webform里面一样,它也是 存在有触发事件的,我们新建初始化项目直接就 ...
- 【腾讯Bugly干货分享】安卓单元测试:What, Why and How
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d28349101cd07a5404c415 Dev Club 是一个交流移动 ...
- git抽疯了。。。
今天用git推送提交的时候,莫名其妙的要求输入密码,输就输吧,输入了还都验证不了,继续弹出输入框,难道我的密码记错了,于是我去更改了密码,但还是继续弹出密码输入框. 百思不得姐,于是把重新生成了pub ...
- (翻译)反射处理java泛型
当我们声明了一个泛型的接口或类,或需要一个子类继承至这个泛型类,而我们又希望利用反射获取这些泛型参数信息.这就是本文将要介绍的ReflectionUtil就是为了解决这类问题的辅助工具类,为java. ...
- SQL SERVER--DBA 常用到的一些脚本
自己整理了一些常用到的脚本,希望对各位有用 下载地址 --================================== 妹子不能少,是吧 BTW, 妹子是我辛苦百度来的,请不要求种求介绍各种求 ...
- Android Fragment add/replace以及backstack
无论Fragment以何种方式加入,都不会影响backstack,backstack由addToBackStack函数决定,只有调用了这个函数,才会将Fragment加入返回栈.这个说法其实不太准确, ...
- 看svn用户组管理功能的产品设计
我负责公司的svn配置.用了近一年了,今天饶有兴致,分享一下svn的用户组管理功能,这个产品设计值得借鉴,简单易用. svn用户组管理的功能描述:新建用户组,并给组分配成员用户:编辑用户组,包括修改组 ...
- swift NSComparator
var cmptr:NSComparator = {(obj1:AnyObject!, obj2:AnyObject!) -> NSComparisonResult in if((obj1[&q ...
- 关于stm32的正交解码
关于正交解码,我先解释何为正交解码,,,,其实名字挺高大上的,,,,还是先说编码器吧 看一下我用过的一种编码器 编码器的 线 数 ,是说编码器转一圈输出多少个脉冲,,,如果一个编码器是500线,,,说 ...