ZSHはタイムスタンプ履歴を何に使用しますか?

ZSHはタイムスタンプ履歴を何に使用しますか?

zsh履歴にはタイムスタンプが含まれており、オプションで無効にすることができます。

コマンドがいつ実行されるのかを知る以外に、他の理由は何ですか?この機能を無効にすると、どの機能が失われる可能性がありますか?

答え1

zshレコードにはタイムスタンプが含まれています。EXTENDED_HISTORY機能が有効になっている場合、またはSHARE_HISTORY後者の場合、機能が有効になっている場合は複数のシェルを使用できるようにタイムスタンプが使用されます。読む互いの正確な履歴 - 履歴ファイルを最後に読み込んだ後に追加された新しいコマンドのみを読み取るだけで、履歴ファイルを再作成してもこれを行うことができます。

これらの機能を有効または無効にするには、次のコマンドを使用しますsetopt

setopt extendedhistory
setopt sharehistory

同時に可能にします。

setopt noextendedhistory
setopt nosharehistory

彼らは無効になります。

共有履歴を保存するには、拡張タイムスタンプを保存する必要があります(ただし、そのEXTENDED_HISTORY機能を明示的に有効にする必要はなく、それSHARE_HISTORY自体で十分です)。

豊かな歴史はあなただけに教えてくれるものではありません。いつコマンドを実行し、どのくらい実行している必要があり、これはいくつかの状況で役に立ちます。

これ歴史的な部分ドキュメントにはすべての詳細が含まれています。

答え2

私が正しく覚えている場合、ZSHは複数のセッションを開くときにタイムスタンプを使用して履歴コマンドを並べ替えます。

関連情報