McFly – ‘Ctrl+R’ Bash 历史搜索功能的替代品

你们中的大多数人肯定使用过或听说过 反向搜索 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。

内容

  1. 在 Linux 中安装 McFly
  2. 搜索 bash 使用 McFly 的历史
    1. 删除 McFly
      1. 帮助我们帮助您:

在 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 机器的示例输出: