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

说明

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

 学习实例

查看最近使用的10条命令

  
  
  
  
  1. $history 10 

如图:

image 

 帮助文档

这里从其他地方摘的帮助

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条:

image

  
  
  
  
  1. $!! 

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

如图:

image

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

  
  
  
  
  1. $!p 

如图:

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

3.打印第几个命令

  
  
  
  
  1. $!1463 

image

4.补充:

! 开始一个历史命令,除了空白符,=,(
!n (n代表数字) 命令的行数
!-n(负号) 当前命令(即最后一次命令)向前推,当前是-1
!! 上一个命令(即最后一次命令)
!string 以string开始的,最近的命令
!?string[?] 包含string的命令; 如果字符串后面紧接着一个换行,可以省略"?"

^string1^string2^

(让人头大的命令)。 一个正则表达式,其实是最后一条命令,作为输入,然后string1被string2替换。表格后跟一个图
!# 到目前全部命令类型(这解释应该有问题)

补图:

image

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

 收尾

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

你可能感兴趣的:(linux,history,历史信息)