0
.zsh_historyの数値タイムスタンプの後の列の目的は何ですか?
: 1568128379:0;cp -a ~/.zshrc.pre-oh-my-zsh ~/.zshrc
: 1568128381:0;exit
タイムスタンプの一部ですか、それともまったく異なる用途に使用されますか?
答え1
シェルEXTENDED_HISTORY
オプションが次の場合置くこの場合、この数字はコマンドの実行にかかる時間(秒単位)です。
zsh
マニュアル(info zsh extended_history
またはzshoptions(1)
マニュアルページ)から:
EXTENDED_HISTORY
<C>
各コマンドの開始タイムスタンプ(エポック以降の秒単位)と期間(秒単位)を履歴ファイルに保存します。このプレフィックスデータの形式は次のとおりです。
: <beginning time>:<elapsed seconds>;<command>
history
組み込みオプションを使用すると、数値が人間が読める「MM:SS」形式で表示されます-D
。
sleep 7
7秒かかることを示す例:
% sleep 7
% tail -n 2 $HISTFILE
: 1697802061:7;sleep 7
: 1697802074:0;tail -n 2 $HISTFILE
% history -D -2
3158 0:07 sleep 7
3159 0:00 tail -n 2 $HISTFILE
例は、mutt
ある時点で3008秒(50分8秒)実行されたことを示しています。
% history -D 2070 2070
2070 50:08 mutt
% sed '2070!d' $HISTFILE
: 1697438226:3008;mutt
0
それがあなたに現れる理由については、以下を参照してください。「history -D」コマンドが表示されますが、.zsh_historyの期間列が通常ゼロであるのはなぜですか?