以前に使用したコマンドをタイムスタンプで印刷するように端末(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
文字列を含む最新の行以降のすべての履歴エントリを表示します。とを組み合わせて、最新の項目が含まれてからタイムスタンプされた履歴項目を取得できますman
。history -E
history man
history -E man
man
デフォルトでは、history
最後の16個のコマンドライン履歴エントリが出力されます。