什么是搜索我的命令历史记录中的MacOS终端的快速?
对于有多长的历史可用于搜索?它在哪里存储?
如何使用Ctrl+
R对于在命令历史记录搜索在Terminal
在Mac
工具搜索,
dudeOnMac: freddy$ whoami
freddy
(reverse-i-search)`who': whoami
以及用于控制多久history
将保留取决于几个shell
环境变量,HISTFILESIZE
这无非是要保留历史记录的行数。在.bash_profile
设置一个巨大的价值为它才能生效
HISTFILESIZE=10000000
使用Ctrl
+ R
在终端从历史搜索的命令。
(reverse-i-search)`':
输入您想搜索例如命令的任何字符串grep的
(reverse-i-search)`grep': grep "XYZ" abc.txt
它会返回你的输入相匹配的最新命令。如果这是不是你正在寻找的命令,按住Ctrl
+ R
为下一场比赛,直到你找到你的命令。
一旦你找到了你的命令按Return
执行它。
如果你想退出时不运行任何命令,按Ctrl
+ G
PS:由Inian的建议,只给了简单的用法的细节这个答案是一样的。
这个命令历史记录存储在您的个人文件夹名为.bash_history的一个隐藏文件。要查看它在纳米内容,请使用在终端中输入以下命令:
nano ~/.bash_history
或用文本编辑器打开(默认为文本编辑):
open ~/.bash_history
在我而言这是一个很长的名单,当我通过滚动似乎是最后〜500指令存储在这里。
从Unix和Linux堆栈交易所this answer迁移的答案,所以:
按Ctrl + R将打开历史搜索落后。现在开始输入你的命令,这将给第一场比赛。再次按下CTRL + R(又一次),你就可以通过历史循环。
如果你想成为超级懒惰可以绑定上/下箭头键来执行此搜索,我在我的.inputrc
以下绑定上/下箭头键history-search-backward
和history-search-forward
:
# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward
只需键入的东西(可选),然后按上/下箭头键通过历史来搜索与您键入的内容开始的命令。
要在.bashrc
而非.inputrc
做到这一点,你可以使用:
bind '"\e[A": history-search-backward'
要查看或召回最近使用的命令,你只需按向上箭头键顺序读回通过存储在.bash_history的历史。