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