プログラマであればターミナルをよく使うはずです。そんな時の実行履歴は.bash_historyなどに蓄積されますが、過去に実行した履歴を確認する際にはgrepを使って行うのが一般的です。しかし前時代的ですよね。 そこで使ってみたいのがhistorianです。実行履歴をSQLiteに蓄積するソフトウェアです。

historianの使い方

最初に hist import コマンドで .bash_history の中身をSQLiteに取り込みます。

後は searchであったり/で検索できます。

$ hist search docker
49
	chown -R nakatsugawa:staff .atom .emacs.d .emacs.el .ssh .aws .docker
48
	sudo cp -r -f .atom .emacs.d .emacs.el .ssh .aws .docker ~/
39
	cp -r .atom .emacs.d .emacs.el .ssh .aws .docker ~/ &
36
	brew cask install dockertoolbox
35
	brew cask install docker-toolbox

今のところ検索機能くらいしかないのでgrepと殆ど変わりませんが、データベースになっていればファイルベースとはまた異なる使い道がありそうです。現在はBashのみですが、他のシェルにも対応予定とのことです。

historianはBashスクリプト製のオープンソース・ソフトウェア(New BSD License)です。

jcsalterego/historian: Command-line utility for managing shell history in a SQLite database.