如何在Linux或macOS终端中使用Bash历史?
Bash是Linux系统(包括MacOS)默认的shell,它也可以安装在Windows 10上,Bash shell可以保存你运行过的命令的历史记录,并将它们保存在历史文件中。Bash在运行时,会将内部命令列表保存在内存中,在退出时会写入bash历史中。
实时保存
Bash在运行时,会将内部命令列表保存在内存中,在退出时会写入_history中。如果你想确保它们总是实时写入,你可以将该命令放入PROMPT_COMMAND变量中:export PROMPT_COMMAND='history -a'
设置历史存储默认值
在我们开始使用bash history之前,我们可以修改一些bash的设置来让他更好使用。Bash允许我们修改它在历史中存储的先前命令的数量。
有两种不同的方式处理:HISTFILESIZE 参数配置历史文件中存储了多少个命令,而HISTSIZE控制当前会话存储在内存中的数量。
用 nano ~/rc
打开~ /rc文 在编辑器中更改这些设置:
找到HISTSIZE和HISTFILESIZE这两个参数。如果它们已经被设置过来,就修改这些值。如果这些参数还没有出现,只需添加它们。出于我们的目的,我们可以轻松地将1000行存储到磁盘,并将最后的500行加载到内存中。对于大多数系统,这是一个保守的估计,但是如果你觉得对性有的影响,可以进行调整:
修改后使用快捷键Ctrl+O保存,回车写入,Ctrl+X退出到nano。
默认情况下,bash在每个会话结束时写入其历史记录,并覆盖以前存在的文件。这意味着如果你使用多个bash会话登录,只有最后一个bash窗口退出才会保存其历史记录。
使用快捷键
为了查看我们最后运行的bash命令,我们可以使用许多击键来获得优势并节省时间。
下箭头或Ctrl+N:转到下一个命令。多次点击将显示我们上次运行的命令。
向上箭头或Ctrl + P:转到上一个命令。
多次敲击相同的按键将通过我们使用的命令向后移动。
Alt + R:这也称为反向搜索,并且很有用。
当你只记你之前输入的命令的零散部分时候,这会很有帮助,有的系统是Ctrl+R
如图所示,''被搜索,bash寻找历史记录中最后与之相匹配的命令。
查看bash历史记录
查看命令的历史很容易,直接运行history命令。
我们可以使用grep命令来缩小搜索范围。
我们甚至可以通过tail命令来查看最近五次使用的命令。
或者,我们甚至可以截断tail命令,并简单地传递我们想要查看的命令的数量。
从bash history中执行第n个命令
将整个bash历史显示出来很不错,但它并不能帮助我们轻松访问这些命令,除非作为参考。如果我们想要执行bash历史记录中的第n个命令,比如第15个命令,输入 !15 就会立即回顾并执行与历史记录第15个关联的命令。
特别提示
现在我们很好地了解了如何利用bash提供的历史操作,其中的某些方法很有效。
当我们需要找到某条命令的位置,如果知道bash具有这样操作命令就非常方便了。
熟练掌握上面的命令可帮助我们提高工作效率哟!
-
参考文献在文中怎么标注(word)
(尾注添加方法)在文章中标注参考文献,还在一个一个慢慢敲吗?看看用word怎么快速实现吧。这里以word2003为例。操作方法(01)光标移到要加入参考文献标注的地方(02)菜单中“插入”——“引用”——“脚注和尾注”(03)如图设置(04)确定后在该处就插入了一个上标“1”,而光标...
-
富士施乐硒鼓清零方法
如何将富士施乐硒鼓清零呢?跟着小编一起来学习看看~操作方法(01)当你的打印机上开始闪烁黄灯时,就是提醒你需要更换硒鼓了;(02)按住机器上的白色按钮,长按关机;(03)关机后,拔掉机身后的USB连接线;(04)再次长按白色按钮开机键,不要松手,打开机器前盖;(05)取出硒鼓盒;(06)整个取出后,再...
-
塞尔达传说 支线消失的咕咕鸡 任务攻略
很多小伙伴可能不了解塞尔达咕咕鸡任务,非常好奇想要知道,那么我就来解答一下这个问题吧,具体内容请看下文:塞尔达咕咕鸡任务一共7只鸡分布在村庄里,但是在地图上并没有任何的提示,寻找起来颇费一番功夫。操作方法(01)在地图上找到卡卡利科村,点进去;(02)跟丢鸡的老爷爷对...
-
邮箱快速注册,不用手机号
如何快速注册邮箱?如何不用手机号注册邮箱?仅以TOM邮箱为例。操作方法(01)点击连接进入TOM邮箱注册页面输入邮箱账号等信息(02)选择微信注册,拿出手机扫一扫即可完成注册特别提示使用微信扫一扫,不用手机号和验证码...
相关文章
- Visual Studio中如何安装使用Newtonsoft Json
- 如何在Visual Studio中创建Winform窗体应用
- [黑苹果]:如何在Virtualbox上安装macOS Sierra?
- Visual Studio中如何利用OpenGL绘图
- 如何在Visual Studio 2015中创建MFC窗体应用
- matlab函数function怎么使用?
- 如何列出MacOS Sierra上的所有“终端”命令?
- Android Studio中如何使用Materal插件生成图标
- 如何在Visual Studio中发布编写好的Winform程序
- 如何用balsamiq mockups制作软件的界面原型