同じユーザーと履歴コマンドを使用して異なる結果を得るのはなぜですか?

同じユーザーと履歴コマンドを使用して異なる結果を得るのはなぜですか?

しばらくの間Linuxを使用しながらこの動作を見たことがありますが、正しく説明を聞いたことがありません。たぶんそれは非常に簡単かもしれません。

同じサーバー上で同じユーザー(bash)で2回ログインすると、履歴コマンドを使用して別の結果を得ることができます。

私はいつも.bash_historyファイルが1つだけなので、結果も1つだけだと思いました。

ベストアンサー1

bashの起動中に履歴がファイルからロードされます。 bash が終了すると、ファイルは自動的に保存されます。 Bash の実行中、履歴はメモリーに保持され、履歴ファイルや複数の bash インスタンスと同期されません。

history現在の履歴をファイルに手動で保存したり、組み込みコマンドを使用してディスクからロードしたりできます(参考help history文献を参照)。

.bash_historyファイルは1つしか存在しませんが(2つのファイルの名前は同じではないため)、HISTFILE別のファイルを使用するように変数を設定できます。

man bash(セクション)のHISTORY有用な引用:

起動時の履歴は、HISTFILE変数(デフォルトは〜/ .bash_history)という名前のファイルで初期化されます。

そして

書き込み可能シェルが終了すると、最後の $HISTSIZE 行が履歴リストから $HISTFILE にコピーされます。

おすすめ記事