您的位置:首页 > 运维架构 > Shell

【一天一个shell命令】好管家-历史信息-history

2015-09-21 15:33 483 查看
说明

history 查看历史命令,Bash跟踪用户之前输入过的命令,并将其存储在~/.bash_history中。不过他值保留一定数量(我这里500,假如501出现,则第一条将删除),可以通过history或者cat ~/.bash_history查看。

 学习实例

查看最近使用的10条命令
$history 10 

如图:



 

 帮助文档

这里从其他地方摘的帮助
n数字,要列出最近的 n 笔命令列表
-c将目前的shell中的所有 history 内容全部消除
-a将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,

则预设写入 ~/.bash_history
-r将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w将目前的 history 记忆内容写入 histfiles
注:这里histfiles指的是任意文件

 解说:

-a, -w的区别:

-a是将增量式,把新增的命令加入到histfiles,而-w是全量。用-r就可以把记录取出来,这里可以当做一个技巧点,用来记录你最常用记录,下面讲到如何利用。

技巧扩展(转载+扩充)

1. 运行特定的历史命令

history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.

语法说明:

[test@linux]# [!number] [!command] [!!]

参数说明:
number第几个指令的意思
command指令的开头几个字母
!上一个指令的意思!
 实例:

1.打印上一个命令

如图最近10条:




$!! 

最后一条是history 10,也就是如果是运行!!,那么输出不变

如图:





2.打印最近以ps开头的命令
$!p 

如图:



  

一个模糊搜索,最近的一条命令是ps,所以我输入了!p就打印了ps信息,如果你用history -a记录了常用的繁琐命令,不失为一种方式。

3.打印第几个命令
$!1463 





4.补充:
!开始一个历史命令,除了空白符,=,(
!n (n代表数字)命令的行数
!-n(负号)当前命令(即最后一次命令)向前推,当前是-1
!!上一个命令(即最后一次命令)
!string以string开始的,最近的命令
!?string[?]包含string的命令; 如果字符串后面紧接着一个换行,可以省略"?"
^string1^string2^
(让人头大的命令)。 一个正则表达式,其实是最后一条命令,作为输入,然后string1被string2替换。表格后跟一个图
!#到目前全部命令类型(这解释应该有问题)
补图:





如图:pwd的wd被替换了,就是ps了

 收尾

哎,要考试了,10号后恢复更新吧。

本文出自 “书生” 博客,请务必保留此出处http://yjplxq.blog.51cto.com/4081353/1043893
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 历史