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用法详解的更多相关文章

  1. MyBatis魔法堂:ResultMap详解

    一.前言   MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了, ...

  2. Java魔法堂:内部类详解

    一.前言 对于内部类平时编码时使用的场景不多,比较常用的地方应该就是绑定事件处理程序的时候了(从C#.JS转向Java阵营的孩子总不不习惯用匿名内部类来做事件订阅:().本文将结合Bytecode对四 ...

  3. .Net魔法堂:log4net详解

    一.作用 提供一个记录日志的框架,可以将日志信息记录到文件.控制台.Windows事件日志和数据库(MSSQL.Acess.Oracle.DB2和SQLite等). 二.先看看示例,感受一下吧   c ...

  4. Java 注解用法详解——@SuppressWarnings

    转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html Java魔法堂:注解用法详解——@SuppressWarnings   一.前言 编码时我 ...

  5. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  6. Ubuntu kill命令用法详解

    转自:Ubuntu kill命令用法详解 1. kill   作用:根据进程号杀死进程   用法: kill [信号代码] 进程ID   root@fcola:/# ps -ef | grep sen ...

  7. linux history 命令详解

    linux history 命令详解 显示命令执行时间 linux shell 具有history 功能,即会记录已经执行过的命令,但是默认是不显示命令的执行时间,命令的执行时间,history 已经 ...

  8. lsof 命令用法详解

    lsof 命令用法详解 作用 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所 ...

  9. Hadoop生态圈-zookeeper的API用法详解

    Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...

随机推荐

  1. MongoDB分片之数据分割方式

    随着移动互联网的发展,大量的非结构化数据随之产生,不仅对数据库存储大数据提出了新的要求,同时对于查询数据和进行大数据分析也提出了苛刻的要求,这些显然是单服务器处理能力无法满足的,自然建立一个集群是不可 ...

  2. 【推荐】【给中高级开发者】构建高性能ASP.NET应用的几点建议

    本篇目录 早期阶段就要对应用进行负载测试 使用高性能类库 你的应用是CPU密集还是IO密集的 使用基于Task的异步模型,但要慎重 分发缓存和会话(session)状态 创建Web Gardens 巧 ...

  3. [.net 面向对象编程基础] (9) 类和类的实例

    [.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...

  4. DNS拾遗(二)

    MX Record补充 MX记录有优先级的概念,数字越小表示优先级越高.所以一个域可以配置多个不同优先级的MX记录,如果邮件通过第一优先级记录无法递送,则采用第二优先级,以此类推. TXT Recor ...

  5. 记一个界面刷新相关的Bug

    今天遇到一个比较有意思的bug, 这里简单记录下. Bug的症状是通过拖拉边框把我们客户端主窗口拖小之后,再最大化,会发现窗口显示有问题, 看起来像是刷新问题, 有些地方显示的不对了. 这里要说明的是 ...

  6. iOS——CALayer的shadow无效问题

    CALayer *sublayer = [CALayer layer]; sublayer.backgroundColor = [UIColor purpleColor].CGColor; subla ...

  7. Ubuntu & MacOS安装Mysql & connector

    Ubuntu & MacOS安装Mysql & connector 1. 安装MySql sudo apt-get install mysql-server apt-get insta ...

  8. PMP和PRINCE2

    首先先简单介绍一下,PMP是属于美国的项目管理知识体系.PRINCE2是属于英国项目体系. 美国的项目管理知识体系最主要的价值是把世界上所有跟项目管理相关的,不管是知识.最佳实践.工具技术,把它们汇总 ...

  9. 缓存篇(Cache)~第一回 使用static静态成员实现服务器端缓存(导航面包屑)

    返回目录 今天写缓存篇的第一篇文章,在写完目录后,得到了一些朋友的关注,这给我之后的写作带来了无穷的力量,在这里,感谢那几位伙伴,哈哈! 书归正传,今天我带来一个Static静态成员的缓存,其实它也不 ...

  10. Atitit cms wordpress get_post  返回的WP_Post 规范 标准化

    Atitit cms wordpress get_post  返回的WP_Post 规范 标准化 public $ID; public $post_author = 0; * The post's l ...