web-dev-qa-db-ja.com

シェル履歴で古いコマンドを見つける

端末で実行した古いコマンドを見つけるにはどうすればよいですか?

私はappengineコマンドを使用し、オンラインで再度調査することなく、ローカルコマンド履歴でそれを見つけたいだけです。

10
saviour123

History はあなたが探しているものです。

historyを実行して最新の1000個のコマンドのリストを取得するか、次を実行します。

history | grep command_to_search

履歴生成リスト内のパターンを検索するには、例えば:

history | grep apt

apt関連コマンドを検索するには、grepがパターンを文字列の両端に固定しないため、ほとんどの場合、ワイルドカードは不要です。


historyリストはから生成されます~/.bash_history(デフォルトで最後の2000を格納)に格納された最後の1000コマンド(デフォルト)、およびそのようなファイルはいつでも更新されますBashセッションをきれいに終了します。つまり、現在のセッションからのすべてのコマンドは、ターミナルを閉じるまでそのファイルに含まれません。また、シェルプロセスを強制終了した場合も書き込まれません。

したがって、コマンド履歴(最後の2000個のコマンド)は、次のいずれかの方法で~/.bash_historyにもあります。

  • less ~/.bash_historyまたは、たとえばgedit ~/.bash_history
  • Nautilusを開き、 Ctrl+h、および.bash_historyファイルを検索します。

~/.bash_historyのオプションを追加または変更することで、history~/.bashrcの両方の動作変更可能は、いくつかの例です。

  • export HISTCONTROL=ignoreboth:erasedupsを追加するか、既存のHISTCONTROL行を変更して、重複コマンドを削除します。つまり、echo Helloの直後にecho Helloを実行すると、bash_historyには1つだけが表示されます。

  • HISTSIZE=1000を変更して、historyで表示されるコマンドの量を増減します

  • HISTFILESIZE=2000を変更して、bash_historyに保存されているコマンドの量を増減します。 HISTFILESIZE=-1を無制限に設定します。

  • HISTFILE=/path/to/fileを追加して、履歴を別の場所に保存します。


ソースと詳細情報:

Bashのマニュアルページ

Byte Commanderからのコメントへのクレジット

14
M. Becerra

最近実行されたコマンドを見つけるには多くの方法があります。

  • 最も簡単なのは  キーを押して、探しているものを見つけるまで、コマンド履歴を1行ずつ繰り返します。

  • を押すこともできます Ctrl+R いわゆる(reverse-i-search)モードに入る。

    これは、この文字列を含む最後に実行したコマンドで入力を開始するものを自動的に補完する検索プロンプトです。探していたものが表示されたら、を押します Enter 実行する、または Esc コマンドをプロンプトに保持したまま検索プロンプトを終了し、編集できるようにします。結果を破棄して検索を終了するには、ヒット Ctrl+C

  • history Bashビルトインを使用して、履歴から記録されたコマンドの完全なリストを表示できます。

    を使用して、特定のパターンに一致する行のリストをフィルタリングできます。 grephistory | grep 'appengine'など。

    Bashのhistory組み込みコマンドの詳細については、help historyと入力してください。

  • Bang-expansionを使用して、文字列を含む最後に実行されたコマンドを直接実行します。これにより、入力した行が履歴の一致する行に置き換えられ、確認なしですぐに実行されるため、注意してください。

    単に!stringと入力すると、「string」で始まる最新のコマンドラインに置き換えられます。

    「string」で終わる最後のコマンドを実行する場合は、代わりに!?stringと入力します。

    または、「string」を含む最後のコマンドラインが必要な場合は、!?string?と入力します。

    man historyと入力すると、履歴の拡張に関する詳細が表示されます。

10
Byte Commander

少し最近使用した場合は、ターミナルを開いてキーボードの上下矢印を使用して最後に使用したコマンドを実行することで、簡単に見つけることができます。

0
cP4n