回答:
スーパーユーザーのサイトから提供したリンクの回答は、必ずしもhistory
コマンドのデフォルトの動作に対する「回避策」と見なされるべきではありません。bashシェルには、すぐに使えるデフォルトの動作があります。
履歴行が失われないようにする方法を読むことを強くお勧めします。これらの変更が何をしているのかの説明についてはhistory
。さらに、これがhistory
コマンドのデフォルトの動作ではない理由について注意すべき合理的な懸念事項がいくつかあります。
パフォーマンス-すべてのウィンドウのすべてのコマンドをで保存しているためhistory -a
、.bash_history
ファイルは非常に大きくなり、bashシェルをロードするためにより多くのリソースが必要になります。これにより、起動時間が長くなる可能性があります(システム全体の起動ではなく、ターミナルセッション自体)。
組織-(上記の記事から)「(特定のユーザーの)同時対話型シェルの履歴コマンドは絡み合います。したがって、単一シェルで実行されたため、履歴はコマンドの保証された連続リストではありません。」
bashシェルと。bash_history
ファイルを監査する場合は、この記事をご覧ください:履歴をログに記録するにはどうすればよいですか?
ときどき(不安定なシステムや電源障害など)、以下のコマンドが役立つことがわかりました。
~/.bashrc
ファイルに次の行を追加します。
unset HISTFILESIZE
HISTSIZE=3000
PROMPT_COMMAND="history -a"
export HISTSIZE PROMPT_COMMAND
shopt -s histappend
.bashrc
コマンドを使用してファイルをソースしてくださいsource ~/.bashrc
「端末の履歴を手動で保存する方法は?」という質問に対する最も簡単で実用的な答え:
history -a
また、zshに切り替えることを検討する価値があるかもしれませんsetopt inc_append_history
(「実行される前にすべてのコマンドを保存する」)。
そして、この質問も関連しています:.bash_historyへの書き込みをすぐに行うことは可能ですか?
bash履歴をファイルに手動で保存するには:
history -w ~/history.txt
vim ~/history.txt
履歴をhistory.txtというファイルにエクスポートします。その後、お気に入りのエディターを使用して表示できます。
http://tech.karbassi.com/2007/01/14/view-and-change-bash-history/からコピーされた回答