你们中的大多数人肯定使用过或听说过 反向搜索 BASH 中的函数。 在 Bash 中进行反向搜索的键盘快捷键是 Ctrl+r. 使用 bash 反向搜索,我们可以调出之前执行的所有命令,而无需每次都重新键入它们。 当然,您可以使用向上/向下箭头搜索您的 bash 历史。 但是,Ctrl+r 将使这个过程更容易和更快。 今天,我偶然发现了 ‘Ctrl+r’ Bash 历史搜索功能的替代品。 见面 “麦克弗莱”一个简单的工具写在 锈 用智能搜索引擎替换默认的 Ctrl+r Bash 历史搜索的编程语言。 McFly 提出的所有命令建议都是实时优先级的 神经网络.
McFly 重新绑定了 Ctrl+r 功能,以从 Bash 历史记录中调出所有最近执行的命令。 它通过跟踪以下内容来增加您的 shell 历史记录:
- 命令退出状态,
- 时间戳(运行命令时),
- 和执行目录(运行命令的位置)。
它将所有跟踪详细信息保存在 SQLite 数据库中。 由于它跟踪命令的历史退出状态,您可以简单地忽略旧的失败命令。
在建议命令时,McFly 会考虑以下事实:
- 您在哪个目录上运行了命令。 将来您可能会在同一目录中重复该命令。
- 您在命令之前键入了哪些命令。
- 您运行命令的频率。
- 上次运行命令的时间。
- 如果您之前在 McFly 中选择了该命令。
- 命令的历史退出状态。 因为,您可能不想运行旧的失败命令,对吧?
McFly 会维护您的默认 Bash 历史文件,因此您可以随时停止使用 McFly。 McFly 不仅适用于 BASH,它还可以扩展到其他 shell。
在 Linux 中安装 McFly
可以在 Linux 上使用 Linuxbrew 安装 McFly。 如果您尚未安装 Linuxbrew,请参阅以下链接。
- Linuxbrew – 适用于 Linux 和 Mac OS X 的通用包管理器
安装 Linuxbrew 后,运行以下命令安装 McFly:
$ brew tap cantino/mcfly https://github.com/cantino/mcfly
$ brew install mcfly
安装完成后,您将看到以下输出。
==> Installing mcfly from cantino/mcfly ==> Downloading https://github.com/cantino/mcfly/releases/download/v0.2.5/mcfly-v0 ==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.c ######################################################################## 100.0% ==> ONE MORE STEP! Edit ~/.bashrc and add the following: if [ -f $(brew --prefix)/opt/mcfly/mcfly.bash ]; then . $(brew --prefix)/opt/mcfly/mcfly.bash fi ? /home/linuxbrew/.linuxbrew/Cellar/mcfly/v0.2.5: 4 files, 3.5MB, built in 33 seconds
在 Linux 中安装 mcfly
如您所见,在开始使用 McFly 之前,我们需要多做一步。
将以下行添加到您的 ~/.bashrc 文件:
if [ -f $(brew --prefix)/opt/mcfly/mcfly.bash ]; then . $(brew --prefix)/opt/mcfly/mcfly.bash fi
最后,运行以下命令使更改生效:
$ source ~/.bashrc
当您第一次运行此命令时,您的 BASH 历史记录将被导入 McFly 数据库。 这将需要一些时间,具体取决于您的大小 bash 历史文件。 导入完成后,您将看到以下消息。
McFly: Importing Bash history for the first time. This may take a minute or two...done.
您现在可以开始使用 McFly。
搜索 bash 使用 McFly 的历史
要搜索您的命令历史记录,只需键入“mcfly search”,后跟命令名称的一部分,然后按 ENTER 键。 Mcfly 将根据您刚刚输入的搜索查询显示命令建议。
$ mcfly search <part-of-the-command>
例如,我键入以下命令:
$ mcfly search mk
这是我的 Ubuntu 机器的示例输出:
搜索 bash 使用 McFly 的历史
如您所见,我已经使用了两次“mkdir”命令。 如果要从建议列表中运行命令,只需使用 上/下 箭头选择它并按 ENTER 立即运行它。 如果要编辑命令,请选择它并点击 标签 键将其带回您的终端,然后在运行之前进行编辑。 要从历史记录中删除选定的命令,只需按 F2.
或者,键入以下命令以打开历史搜索,然后键入任何命令或命令的一部分以查看历史记录中的建议。
$ mcfly search
McFly 将在您键入时显示命令建议。
这是 McFly 的简短视频演示:
麦克弗利在行动
查看帮助:
$ mcfly --help
建议阅读:
- HSTR – 轻松查看、导航、搜索和管理您的命令行历史
- Pick – Linux 的命令行模糊搜索工具
- 如何在 Linux 中从 Bash 历史记录中清除特定命令
删除 McFly
不喜欢 McFly,没问题! 使用以下命令将其删除:
$ brew uninstall mcfly
$ brew untap cantino/mcfly
最后,删除我们之前添加的行 ~/.bashrc 文件。
资源:
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!