あなたのほとんどは間違いなく逆検索について使用または聞いたことがある BASHで機能します。 Bashで逆検索を行うためのキーボードショートカットはCtrl+ rです。 。 bash逆検索を使用すると、毎回再入力しなくても、以前に実行したすべてのコマンドを表示できます。もちろん、上/下矢印を使用してbashの履歴を検索することもできます。ただし、Ctrl + rを押すと、このプロセスがはるかに簡単かつ高速になります。今日、私は「Ctrl+r」Bash履歴検索機能に代わるものに出くわしました。 「McFly」に会う 、 Rustで書かれたシンプルなツール デフォルトのCtrl+rBash履歴検索をインテリジェントな検索エンジンに置き換えるプログラミング言語。 McFlyによるすべてのコマンド提案は、小さなニューラルネットワークを使用してリアルタイムで優先されます。 。
McFlyは、Ctrl + r機能を再バインドして、Bash履歴から最近実行されたすべてのコマンドを表示します。以下を追跡することにより、シェルの履歴を補強します。
- コマンドの終了ステータス
- タイムスタンプ(コマンドを実行するとき)、
- および実行ディレクトリ(コマンドを実行する場所)。
すべての追跡の詳細をSQLiteデータベースに保存します。コマンドの履歴終了ステータスを追跡するため、失敗した古いコマンドを単に無視できます。
コマンドを提案するとき、McFlyは次の事実を考慮します:
- コマンドを実行したディレクトリ。将来、同じディレクトリでそのコマンドを繰り返す可能性があります。
- コマンドの前に入力したコマンド。
- コマンドを実行する頻度。
- 最後にコマンドを実行したとき。
- 以前にMcFlyでコマンドを選択したことがある場合。
- コマンドの履歴終了ステータス。なぜなら、失敗した古いコマンドを実行したくないのではないでしょうか?
McFlyはデフォルトのBash履歴ファイルを維持しているため、いつでもMcFlyの使用を停止できます。 McFlyはBASHだけでなく、他のシェルにも拡張可能です。
LinuxにMcFlyをインストールする
McFlyは、LinuxでLinuxbrewを使用してインストールできます。 Linuxbrewをまだインストールしていない場合は、次のリンクを参照してください。
- Linuxbrew –LinuxおよびMacOSX用の一般的なパッケージマネージャー
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の使用を開始する前に、もう1つの手順を実行する必要があります。
〜/ .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の使用を開始できます。
McFlyを使用してbashの履歴を検索する
コマンド履歴を検索するには、「mcfly search」に続けてコマンド名の一部を入力し、Enterキーを押します。 Mcflyは、入力した検索クエリに基づいてコマンド候補を表示します。
$ mcfly search <part-of-the-command>
たとえば、次のコマンドを入力します。
$ mcfly search mk
これが私のUbuntuマシンからの出力例です:
McFlyを使用してbashの履歴を検索する
ご覧のとおり、「mkdir」コマンドを2回使用しました。提案のリストからコマンドを実行する場合は、 UP / DOWNを使用するだけです。 矢印で選択し、Enterキーを押してすぐに実行します。コマンドを編集する場合は、コマンドを選択して TABを押します。 キーを押してターミナルに戻し、実行する前に編集します。選択したコマンドを履歴から削除するには、 F2を押すだけです。 。
または、次のコマンドを入力して履歴検索を開き、任意のコマンドまたはコマンドの一部を入力して、履歴からの提案を表示します。
$ mcfly search
入力すると、McFlyにコマンドの候補が表示されます。
これがMcFlyの短いビデオデモンストレーションです:
マクフライの活動
ヘルプを見る:
$ mcfly --help
推奨される読み物:
- HSTR –コマンドライン履歴を簡単に表示、ナビゲート、検索、管理できます
- Pick –Linux用のコマンドラインあいまい検索ツール
- LinuxでBash履歴から特定のコマンドをクリアする方法
McFlyを削除
マクフライは好きじゃない、問題ない!次のコマンドを使用して削除します。
$ brew uninstall mcfly
$ brew untap cantino/mcfly
最後に、前に追加した行を〜/ .bashrcから削除します ファイル。