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


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

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

实时保存 01

Bash运行时会将内部命令列表保存在内存中,退出时会写入。bash _历史。
如果您想确保它们总是实时编写的,可以将该命令放在PROMPT_COMMAND变量中:export PROMPT _ COMMAND = apos历史-a apos;

设置历史存储默认值 01

在我们开始使用bash历史之前,我们可以修改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

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

02

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

03

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

04

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

从bash history中执行第n个命令 01

显示完整的bash历史很好,但是它不能帮助我们方便地访问这些命令,除非是为了参考。
如果我们想执行bash历史中的第n条命令,比如第15条命令,输入!15将立即检查并执行与第15个历史记录相关联的命令。

特别提示

现在我们已经很好地理解了如何利用bash提供的历史操作,其中一些是有效的。

当我们需要查找某个命令的位置时,知道bash有这样一个操作命令是非常方便的。

掌握以上命令可以帮助我们提高工作效率!

转载请注明原文地址:https://juke.outofmemory.cn/read/389288.html

最新回复(0)