bash履歴ファイルに最大サイズはありますか?


回答:


15

番号を指定する代わりに、次のことができます

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

この場合、ディスクサイズ(およびOSまたはFSにある場合は「最大ファイル制限」)のみが制限になります。

ただし、これにより最終的にbashがますます遅くなることに注意してください。このBashFAQドキュメントdebian-administrationの記事(元のリンクは停止しました。ミラーを見てください:archive.isおよびarchive.org)を参照して、より優れたスケーリングのテクニックを確認してください。


またhistory-size、あなたの増加する必要がありますinputrc
クリスダウン

警告:[ unix.stackexchange.com/a/76129/78713 ](下記)に記載されているように、これによりBashがデフォルトを継承し、既存のもの.bash_historyがデフォルトよりも大きい場合は切り捨てられる可能性があります。
クリスポヴィーク

8

logrotate使用して、古いエントリを保持できます。たとえば、アーカイブをトリガーするサイズ制限を設定できます。通常は毎日のcronジョブから実行されますが、.bash_logoutスクリプトから呼び出すこともできます。


サイズ制限を削除すると、長期的にはパフォーマンスに影響するため、私にとって最も持続可能なアプローチのように見えます。私はすぐにしきい値に達することはできませんが、そのような影響に気づくには時間がかかると思います。ところで、設定した構成と、追加するオプションのbash logoutコマンドを追加することを検討してください。
バルミプール

リンクがダウンしています。たぶん同じ意図した情報を持つ別のリンクを指すように編集しますか?
ベコ博士

7

@Philomath、これらの環境変数を設定解除してもまったく機能しません!私にとって、これにより、bashは.bash_historyを約9KiBに切り捨てる組み込みのデフォルト(と思われる)を使用します。

私のために働くものは、私の.bashrcで次のとおりです:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.