はじめに
この資料は Rust 製のコマンドラインツール pxh について紹介するものです。
Rustの環境構築やツールのインストール方法については以下を参照してください
Rust開発環境を整える
pxh について
pxh は、対話型シェルやその他の REPL ツール用の、ポータブルで拡張可能な履歴マネージャです。
pxh の仕事は、シェルの履歴という最も貴重な知識保管庫を追跡するための、信頼できる控えめな永続性と検索エンジンになることです。pxh は既存の履歴ファイルを読み込むことができ、コンピュータ間で一貫したオンデマンド同期を提供します。
コマンド名は、Portable, eXtensible History manager に由来しています。
GitHub - chipturner/pxhist: Portable, extensible history database for command line tools
特徴
- 軽量で高速
pxh は高速で邪魔にならないので、一度インストールすれば、検索を行うとき以外には存在に気づくことはないでしょう。
- カスタマイズ可能
pxhは、履歴コマンドにディレクトリ、ホスト、ユーザーなどの追加コンテキストをタグ付けし、主要なコンピュータだけでなく、すべての履歴を保存することができます。また、終了コードや継続時間を追跡することもできます。
- 柔軟な検索ができる
pxh は、特定のディレクトリで実行されたすべてのコマンドや、特定のシェルセッションで発行されたコマンドなど、関連する有用なエントリをすばやく表示する柔軟な検索をサポートしています。
- 複数のコンピュータで履歴を同期し共有
pxh は、コンピュータ間で簡単にオンデマンドで同期させることができ、対話型シェル履歴のグローバルビューを「最終的に一貫した」ものにすることができます。
動作概要
- pxh は SQLite を使って履歴を簡単に検索できるようにし、何年も前の便利なコマンドをすぐに見つけることができます。SQLite は高速で、pxh はそれをできるだけ効率的に使うことで、対話型シェルで待ち時間が増えることがないようにしています。
- pxh はコマンドの前後にシェルヘルパーを呼び出して、コマンド、時間、終了ステータス、およびその他の有用なコンテキストを記録するように動作します。データベースはリアルタイムで更新され、SQLiteにより複数のシェルを同時に使用しても一貫性が保たれます。
- データベースファイルは、デフォルトでは
~/.pxh/pxh.db
に保存されます。このファイルをcpして、sqlite3コマンドラインツールで調べることもできます。
使用方法
pxh [OPTIONS] <COMMAND>