搜索您的命令历史记录的MacOS终端

问题描述 投票:15回答:5

什么是搜索我的命令历史记录中的MacOS终端的快速?

对于有多长的历史可用于搜索?它在哪里存储?

bash macos history
5个回答
37
投票

如何使用Ctrl+R对于在命令历史记录搜索在TerminalMac工具搜索,

dudeOnMac: freddy$ whoami
freddy
(reverse-i-search)`who': whoami

以及用于控制多久history将保留取决于几个shell环境变量,HISTFILESIZE这无非是要保留历史记录的行数。在.bash_profile设置一个巨大的价值为它才能生效

HISTFILESIZE=10000000 

17
投票

使用Ctrl + R在终端从历史搜索的命令。

(reverse-i-search)`': 

输入您想搜索例如命令的任何字符串grep的

(reverse-i-search)`grep': grep "XYZ" abc.txt

它会返回你的输入相匹配的最新命令。如果这是不是你正在寻找的命令,按住Ctrl + R为下一场比赛,直到你找到你的命令。

一旦你找到了你的命令按Return执行它。

如果你想退出时不运行任何命令,按Ctrl + G

PS:由Inian的建议,只给了简单的用法的细节这个答案是一样的。


7
投票

这个命令历史记录存储在您的个人文件夹名为.bash_history的一个隐藏文件。要查看它在纳米内容,请使用在终端中输入以下命令:

nano ~/.bash_history

或用文本编辑器打开(默认为文本编辑):

open ~/.bash_history

在我而言这是一个很长的名单,当我通过滚动似乎是最后〜500指令存储在这里。


3
投票

从Unix和Linux堆栈交易所this answer迁移的答案,所以:

按Ctrl + R将打开历史搜索落后。现在开始输入你的命令,这将给第一场比赛。再次按下CTRL + R(又一次),你就可以通过历史循环。

如果你想成为超级懒惰可以绑定上/下箭头键来执行此搜索,我在我的.inputrc以下绑定上/下箭头键history-search-backwardhistory-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'

0
投票

要查看或召回最近使用的命令,你只需按向上箭头键顺序读回通过存储在.bash_history的历史。

© www.soinside.com 2019 - 2024. All rights reserved.