[转载]linux查询历史记录命令history的用法介绍

转自:http://www.jb51.net/LINUXjishu/157029.html

一、什么是history
在bash功能中,它能记忆使用过的命令,这个功能最大的好处就是可以查询曾经做过的举动!
从而可以知道你的运行步骤,那么就可以追踪你曾下达过的命令,以作为除错的工具!

二、History的保存
那么命令记录在哪里呢?在家目录内的 .bash_history 里! 不过,需要留意的是,~/.bash_history 记录的是前一次登陆以前所运行过的命令,而至于这一次登陆所运行的命令都被缓存在内存中,当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!

三、调用历史命令
接下来学习history历史命令的用法。

history [n]
[root@jb51 Desktop]#history [-c]
[root@jb51 Desktop]#history [-raw] histfiles

选项与参数:
n   :数字,意思是要列出最近的 n 条命令行表的意思!
-c  :将目前的 shell 中的所有 history 内容全部消除
-a  :将目前新增的 history 命令新增入 histfiles 中,若没有加 histfiles ,
      则默认写入 ~/.bash_history
-r  :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
-w  :将目前的 history 记忆内容写入 histfiles 中!

例1,列出目前内存内的所有 history 历史记录


[root@jb51 Desktop]#history
# 前面省略
1017 man bash
1018 ll
1019 history 
1020 history

列出的信息当中,共分两栏,第一栏为该命令在这个 shell 当中的代码, 另一个则是命令本身的内容!至于会显示多少条命令记录,则与 HISTSIZE 有关!

例2,列出目前最近的 3 条数据

[root@jb51 Desktop]#history 3
1019 history 
1020 history
1021 history 3

例3,立刻将目前的数据写入 histfile 当中

[root@jb51 Desktop]#history -w
# 在默认的情况下,会将历史纪录写入 ~/.bash_history 当中!
[root@jb51 Desktop]#echo $HISTSIZE
1000

四、历史使用的窍门
1、! 的使用

  1. !! 重复前一个命令
  2. ! 字符 重复前一个以“字符”开头的命令
  3. ! num 按照history命令输出中的序号来重复对应命令
  4. ! ?abc 重复前一个包含abc的命令
  5. ! -n 重复n个命令之前的那个命令
  6. !$ 重复前一次命令行中的最后一个参数

2、按键组合

  • 使用up和down键来上下浏览之前执行的命令
  • 键入ctr+r来在命令历史中搜索命令
[root@jb51 Desktop]# 
(reverse-i-search)`': 
(reverse-i-search)`h': cat /etc/shadow

按回车键执行该命令
  • 要重新调用前一个命令中的参数:Esc + .(点击Esc键,然后点击.键)
  • 重新调用前一个命令行中的最后一个参数:!$

注意:
History保存在每个用户自己的历史记录中,位于用户的家目录中。
用户登录后,执行命令存放在内存中,只有登录后才能看到。

五、如何保证每次推出登录时情况history
在需要的用户主目录下,编辑~/.bash.logout添加一句history -c保存退出就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值