端末印刷コマンドの履歴とすべてのコマンドのタイムスタンプを作成する方法

端末印刷コマンドの履歴とすべてのコマンドのタイムスタンプを作成する方法

以前に使用したコマンドをタイムスタンプで印刷するように端末(macOS)を取得しようとしています。

を使用するとhistory man過去1000個程度のリストが提供され、 を使用するとhistory -E約20個程度に過ぎないがタイムスタンプを含むコマンドが提供されることがわかります。

すべてのタイムスタンプを取得できるように接続する方法はありますか?

ベストアンサー1

zshシェルからみんなdd.mm.yyyy hh:mm現在のシェルセッションの履歴とタイムスタンプ(「ヨーロッパ形式」)を使用して

history -E 1

最後にあるのは、1最初(最後)の項目から記録を見たいという意味です。

シェルが履歴ファイル()にタイムスタンプを保存するには、シェルオプションを$HISTFILE有効にする必要があります。EXTENDED_HISTORY

setopt EXTENDED_HISTORY

...~/.zshrcファイルにあります(このオプションは、次の新しいシェルセッションで適用されます)。このオプションを設定せずに保存された履歴項目は、いいえタイムスタンプで保存されます。


質問に使用するコマンドは、エントリ数に関係なく、history man文字列を含む最新の行以降のすべての履歴エントリを表示します。とを組み合わせて、最新の項目が含まれてからタイムスタンプされた履歴項目を取得できますmanhistory -Ehistory manhistory -E manman

デフォルトでは、history最後の16個のコマンドライン履歴エントリが出力されます。

おすすめ記事