it-mure.jp.net

OS Xですべての端末コマンド履歴を読み取る

OS Xのターミナルで実行するすべてのコマンドにアクセスして、実行中のリマインダーシートとして確認して使用できると便利です。

私はReverse-I-SearchPromptを使用しており、.bash_profileを更新して、ここで説明されているようにすべての履歴を保存しています Mactoids:ターミナルコマンド履歴を検索する方法

  1. ターミナルを起動します。

  2. 次のように入力して、ホームフォルダに移動します。

    cd ~/
    
  3. 次のように入力して、.bash_profileを作成します。

    touch .bash_profile
    
  4. ここで、お気に入りのテキストエディタで.bash_profileを編集するか、ターミナルウィンドウにこれを入力して、デフォルトのテキストエディットでファイルを自動的に開きます。

    open -e .bash_profile
    
  5. 最後に、これを.bash_profileファイルに追加します。

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
  6. 保存して終了。

OS Xで端末コマンドの履歴を出力するためにどのようにアクセスできるかについてのアイデアはありますか?

10
Cameron McGrane

すべての履歴は~/.bash_historyに保存され、reverse-i-searchとアップ/ダウンキーの両方が使用します。そのファイルは定期的にプルーニングされますが、リンクのガイドに従っている場合、.bash_historyファイルは実際にはプルーニングされません。

6
fideli

個人的には、すべてのターミナルウィンドウとすべてのコマンドをカバーしていない最新のセッションをチェックするのではなく、より簡単な方法ですべてを印刷で実行したいと思います。

完全な履歴を取得

cd ~/.bash_sessions
cat *.historynew *.history

セッションの日付で並べ替える場合

cd ~/.bash_sessions
cat `ls -tr *.historynew *.history`
2
laimison

まだこれの修正が必要な場合に備えて、私が私のやり方を説明します。これにより、すべてのタブで履歴を保存してアクセスできます(つまり、1つのタブでコマンドを入力し、新しいタブを開いて上に押すと、前のタブで入力したコマンドが提案されます)

次の2つが必要です。1。端末に次のコマンドを入力して、histappendがオンになっていることを確認します。

shopt -s histappend && shopt histappend

2.また、履歴コマンドが保存されている場所を知る必要があります。

私の履歴ファイルは〜/ .bash_sessionsに保存されるので、それが私のコードに反映されます。 〜/ .bash_historyまたは別のディレクトリに保存されている場合は、bash_profileにソースを設定するときに、それを〜/ .bash_sessionsと交換するだけです。

それがわかったら、bash_profileを開き、次のコードを追加します。

source ~/.bash_sessions/*.history        #<--sources prev sessions through your bash_profile. If you don't use ~/.bash_sessions to store your history, replace it with whatever you use (i.e. source ~/.bash_history/*.history

export HISTCONTROL=ignoredups:erasedups #<-- auto-erases duplicates in your history
export HISTSIZE=1000                    #<-- assigns # of results to return
export HISTFILESIZE=100000              #<-- assigns # of results to store in your .bash_history
shopt -s histappend                     #<-- appends & saves history throughout all tabs

export Prompt_COMMAND="history -a; history -c; history -r; $Prompt_COMMAND"  <--appends history from all tabs, clears & uses appended history file as current  
1
sharpharp