如何在Linux或macOS终端中使用Bash历史?

Bash是Linux系统(包括MacOS)默认的shell,它也可以安装在Windows 10上,Bash shell可以保存你运行过的命令的历史记录,并将它们保存在历史文件中。Bash在运行时,会将内部命令列表保存在内存中,在退出时会写入bash历史中。

实时保存

  • 01

    Bash在运行时,会将内部命令列表保存在内存中,在退出时会写入.bash_history中。如果你想确保它们总是实时写入,你可以将该命令放入PROMPT_COMMAND变量中:export PROMPT_COMMAND='history -a'

设置历史存储默认值

  • 01

    在我们开始使用bash history之前,我们可以修改一些bash的设置来让他更好使用。Bash允许我们修改它在历史中存储的先前命令的数量。 有两种不同的方式处理:HISTFILESIZE 参数配置历史文件中存储了多少个命令,而HISTSIZE控制当前会话存储在内存中的数量。

  • 02

    用 nano ~/.bashrc 打开~ /.bashrc文 在编辑器中更改这些设置:

  • 03

    找到HISTSIZE和HISTFILESIZE这两个参数。如果它们已经被设置过来,就修改这些值。如果这些参数还没有出现,只需添加它们。出于我们的目的,我们可以轻松地将1000行存储到磁盘,并将最后的500行加载到内存中。对于大多数系统,这是一个保守的估计,但是如果你觉得对性有的影响,可以进行调整: 修改后使用快捷键Ctrl+O保存,回车写入,Ctrl+X退出到nano。

  • 04

    默认情况下,bash在每个会话结束时写入其历史记录,并覆盖以前存在的文件。这意味着如果你使用多个bash会话登录,只有最后一个bash窗口退出才会保存其历史记录。

使用快捷键

  • 01

    为了查看我们最后运行的bash命令,我们可以使用许多击键来获得优势并节省时间。 下箭头或Ctrl+N:转到下一个命令。多次点击将显示我们上次运行的命令。

  • 02

    向上箭头或Ctrl + P:转到上一个命令。 多次敲击相同的按键将通过我们使用的命令向后移动。

  • 03

    Alt + R:这也称为反向搜索,并且很有用。 当你只记你之前输入的命令的零散部分时候,这会很有帮助,有的系统是Ctrl+R 如图所示,''被搜索,bash寻找历史记录中最后与之相匹配的命令。

查看bash历史记录

  • 01

    查看命令的历史很容易,直接运行history命令。

  • 02

    我们可以使用grep命令来缩小搜索范围。

  • 03

    我们甚至可以通过tail命令来查看最近五次使用的命令。

  • 04

    或者,我们甚至可以截断tail命令,并简单地传递我们想要查看的命令的数量。

    从bash history中执行第n个命令

    • 01

      将整个bash历史显示出来很不错,但它并不能帮助我们轻松访问这些命令,除非作为参考。如果我们想要执行bash历史记录中的第n个命令,比如第15个命令,输入 !15 就会立即回顾并执行与历史记录第15个关联的命令。

    (0)

    相关推荐

    • 如何在Linux Mint 12 桌面中安装Screenlets

      Screenlets是与Windows 7中的小工具类似的小应用程序,可让您在Linux Mint桌面上放置粘滞便笺,时钟,日历等内容.Screenlets表示您可能会保留在物理桌面上的项目,以及更多 ...

    • 如何在Linux系统中使用终端打开和编辑文本文档

      这篇文章将教你如何在Linux系统中使用终端程序创建文本文档.新建文档后,可以使用系统内置的其中一种文本编辑器来编辑文本文件. 打开终端 01 打开终端.点击菜单,然后找到终端程序.程序的图标是一个黑 ...

    • 在Linux终端中查看公有IP的方法详解

      首先回顾一下一般的查看IP的命令: ifconfig Linux查看IP地址的命令--ifconfig ifconfig命令用于查看和更改网络接口的地址和参数 $ifconfig -a lo0: fl ...

    • 如何在linux系统中设置ip地址

      如何在linux系统中设置ip地址 操作方法 01 在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 02 开始编辑,填写ip地址.子网掩码.网关 ...

    • 如何在Linux中解压文件

      这篇文章将介绍如何在Linux系统中使用终端命令行来解压压缩文件. 解压一个文件夹 01 找到压缩文件夹.请打开文件夹所在的目录路径.例如,如果它位于文档目录下,请打开"文档"文件 ...

    • 如何在Linux桌面环境中使用DeVeDe工具创建视频DVD

      我们都知道DeVeDe能够将视频及文件制作成视频DVD,那么Linux下DeVeDe又该如何使用呢?下面小编就给大家介绍下如何在Linux桌面环境中使用DeVeDe工具创建视频DVD。 DeVeDe是 ...

    • 如何在 Linux 命令行中使用和执行 PHP 代码

      PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

    • 如何在Linux系统中恢复误删除的文件

      误删了重要文件是非常麻烦的事情,但因为重要又没有备份的情况下,那就需要恢复误删除的文件了,现在,本将教你如何在Linux系统中,演示恢复误删除的文件,找回重要的数据吧! 操作方法 01 安装extun ...

    • 如何在linux系统中设置静态ip地址

      本篇主要是介绍一下在linux系统中设置静态ip地址方法. 操作方法 01 在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 02 开始编辑,填写 ...