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

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

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


实时保存01、Bash在运行时 , 会将内部命令列表保存在内存中,在退出时会写入.bash_history中 。如果你想确保它们总是实时写入 , 你可以将该命令放入PROMPT_COMMAND变量中:export PROMPT_COMMAND='history -a'
设置历史存储默认值01、在我们开始使用bash history之前,我们可以修改一些bash的设置来让他更好使用 。Bash允许我们修改它在历史中存储的先前命令的数量 。
有两种不同的方式处理:HISTFILESIZE 参数配置历史文件中存储了多少个命令,而HISTSIZE控制当前会话存储在内存中的数量 。
【如何在Linux或macOS终端中使用Bash历史?】02、用 nano ~/.bashrc
打开~ /.bashrc文 在编辑器中更改这些设置:
03、找到HISTSIZE和HISTFILESIZE这两个参数 。如果它们已经被设置过来,就修改这些值 。如果这些参数还没有出现 , 只需添加它们 。出于我们的目的,我们可以轻松地将1000行存储到磁盘,并将最后的500行加载到内存中 。对于大多数系统 , 这是一个保守的估计,但是如果你觉得对性有的影响,可以进行调整:
修改后使用快捷键Ctrl O保存,回车写入,Ctrl X退出到nano 。
04、默认情况下,bash在每个会话结束时写入其历史记录,并覆盖以前存在的文件 。这意味着如果你使用多个bash会话登录,只有最后一个bash窗口退出才会保存其历史记录 。
使用快捷键01、为了查看我们最后运行的bash命令 , 我们可以使用许多击键来获得优势并节省时间 。
下箭头或Ctrl N:转到下一个命令 。多次点击将显示我们上次运行的命令 。
02、向上箭头或CtrlP:转到上一个命令 。
多次敲击相同的按键将通过我们使用的命令向后移动 。
03、AltR:这也称为反向搜索,并且很有用 。
当你只记你之前输入的命令的零散部分时候,这会很有帮助,有的系统是Ctrl R
如图所示 , ''被搜索,bash寻找历史记录中最后与之相匹配的命令 。
查看bash历史记录01、查看命令的历史很容易,直接运行history命令 。
02、我们可以使用grep命令来缩小搜索范围 。
03、我们甚至可以通过tail命令来查看最近五次使用的命令 。
04、或者 , 我们甚至可以截断tail命令 , 并简单地传递我们想要查看的命令的数量 。
从bash history中执行第n个命令01、将整个bash历史显示出来很不错 , 但它并不能帮助我们轻松访问这些命令,除非作为参考 。如果我们想要执行bash历史记录中的第n个命令,比如第15个命令,输入 !15就会立即回顾并执行与历史记录第15个关联的命令 。
特别提示现在我们很好地了解了如何利用bash提供的历史操作 , 其中的某些方法很有效 。
当我们需要找到某条命令的位置,如果知道bash具有这样操作命令就非常方便了 。
熟练掌握上面的命令可帮助我们提高工作效率哟!

    推荐阅读