web-dev-qa-db-ja.com

テキストエディターでシェルコマンド履歴を検索するにはどうすればよいですか?

そんなこと知ってる Ctrl+R コマンド履歴を検索してみましょうが、少し原始的です。すべてのコマンド履歴(現在のターミナルセッションだけでなく、完全な履歴)をテキストファイルにエクスポートする方法はありますか?その後、テキストエディターを使用して快適に検索できます。または、履歴ファイルが既に存在する場合、どこにありますか?

8
becko

man bash から:

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a Shell exits.

したがって、変数HISTFILEには、履歴が保存されるファイル名が含まれます。

$ echo "$HISTFILE"
/home/user/.bash_history

これで、パターンを検索できます。

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

@Dennisが指摘したように、必要に応じてhistory -aを実行して、実行中のセッションのコマンド履歴を$HISTFILEファイルに追加できます。基本的に、セッションを閉じるとコマンドが自動的に追加され、history -aはその瞬間に同じことを行います。

help historyを実行して、historyビルトイン自体の詳細を確認します。

13
heemayl

これを試して:

history > output.txt
less output.txt

次に/ + searchtermと入力して検索します

4
The Nightman

Bash履歴は、ホームディレクトリ~/.bash_historyに保存されます。

基本的に Ctrl + R このファイルから検索します。

3
shaddy