在Linux中使用history命令的方法

 更新时间:2018年06月26日 09:58:07   投稿:mrr  
这篇文章主要介绍了在Linux中使用history命令的方法,需要的朋友可以参考下

用强大的 history 命令使你的命令行提示符更有效率。

随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU 的 history 命令是一个真正改变我日常工作的命令。

GNU history 命令保存了从该终端会话运行的所有其他命令的列表,然后允许你重放或者重用这些命令,而不用重新输入它们。如果你是一个老玩家,你知道 history 的力量,但对于我们这些半吊子或新手系统管理员来说, history 是一个立竿见影的生产力增益。

历史 101

要查看命令历史,请在 Linux 中打开终端程序,然后输入:

$ history

这是我得到的响应:

  clear
  ls -al
  sudo dnf update -y
  history

history 命令显示自开始会话后输入的命令列表。 history 有趣的地方是你可以使用以下命令重放任意一个命令:

$ !3

提示符中的 !3 告诉 shell 重新运行历史列表中第 3 个命令。我还可以输入以下命令来使用:

linuser@my_linux_box: !sudo dnf

history 将搜索与你提供的模式相匹配的最后一个命令,并运行它。

搜索历史

你还可以输入 !! 重新运行命令历史中的最后一条命令。而且,通过与 grep 配对,你可以搜索与文本模式相匹配的命令,或者通过与 tail 一起使用,你可以找到你最后几条执行的命令。例如:

$ history | grep dnf
 sudo dnf update -y
 history | grep dnf
$ history | tail -n 3
 history
 history | grep dnf
 history | tail -n 3

另一种实现这个功能的方法是输入 Ctrl-R 来调用你的命令历史记录的递归搜索。输入后,提示变为:

(reverse-i-search)`':

现在你可以开始输入一个命令,并且会显示匹配的命令,按回车键执行。

更改已执行的命令

history 还允许你使用不同的语法重新运行命令。例如,如果我想改变我以前的命令 history | grep dnf 成 history | grep ssh ,我可以在提示符下执行以下命令:

$^dnf^ssh^

history 将重新运行该命令,但用 ssh 替换 dnf ,并执行它。

删除历史

有时你想要删除一些或全部的历史记录。如果要删除特定命令,请输入 history -d <行号> 。要清空历史记录,请执行 history -c 。

历史文件存储在一个你可以修改的文件中。bash shell 用户可以在他们的家目录下找到 .bash_history 。

下一步

你可以使用 history 做许多其他事情:

  • 将历史缓冲区设置为一定数量
  • 记录历史中每行的日期和时间
  • 防止某些命令被记录在历史记录中

有关 history 命令的更多信息和其他有趣的事情,请参考 https://www.gnu.org/software/bash/manual/

总结

以上所述是小编给大家介绍的在Linux中使用history命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 类Linux环境安装jdk1.8及环境变量配置详解

    类Linux环境安装jdk1.8及环境变量配置详解

    如何在linux系统中安装jdk1.8?很多小伙伴都不知道在linux系统中怎么安装jdk,下面,小编就为大家介绍下在linux系统中安装jdk1.8方法。
    2019-09-09
  • CentOS7配置阿里云yum源的方法代码

    CentOS7配置阿里云yum源的方法代码

    这篇文章主要介绍了CentOS7配置阿里云yum源的方法代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • linux查看软件的安装位置简单方法

    linux查看软件的安装位置简单方法

    在本篇文章里小编给各位分享的是关于linux查看软件的安装位置简单方法,有兴趣的朋友们可以学习下。
    2020-03-03
  • Linux自动化交互脚本expect从安装到开发详解

    Linux自动化交互脚本expect从安装到开发详解

    运行shell脚本有时会提示输入密码,如何让脚本自动输入密码呢?这时使用expect,Expect是基于Tcl发展而来的,它不仅可以进行交互,还可以根据程序的提示模拟标准输入,实现自动化交互执行的功能,在排查expect脚本执行问题时,应关注脚本是如何被调用和执行的
    2024-06-06
  • linux后台执行命令&和nohup的具体使用方法

    linux后台执行命令&和nohup的具体使用方法

    这篇文章主要介绍了linux后台执行命令&和nohup的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • linux下mysql数据库的操作的方法

    linux下mysql数据库的操作的方法

    下面小编就为大家带来一篇linux下mysql数据库的操作的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux下Redis设置密码及开机自启动

    Linux下Redis设置密码及开机自启动

    这篇文章主要介绍了Linux下Redis设置密码及开机自启动的相关资料,需要的朋友可以参考下
    2016-12-12
  • 解决ssh远程登陆linux显示-bash-4.1$的问题

    解决ssh远程登陆linux显示-bash-4.1$的问题

    下面小编就为大家带来一篇解决ssh远程登陆linux显示-bash-4.1$的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux如何实现断点续传文件功能

    Linux如何实现断点续传文件功能

    最近在工作中遇到一个需求,要实现Linux下的文件传输,支持断点续传,所以这篇文章主要给大家介绍了关于Linux如何实现断点续传文件功能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • 101个脚本之建立linux回收站的脚本

    101个脚本之建立linux回收站的脚本

    众所周知,linux是没有回收站的,一些人很害怕删错东西(有经验的linux管理员极少范这错误),个人不建议回收站,而应该是培养个人的安全意识。有点小跑题
    2016-08-08

最新评论