zsh는 타임스탬프와 실행 시간을 어디에 저장합니까?

zsh는 타임스탬프와 실행 시간을 어디에 저장합니까?

.zshrcmacOS에서는 명령줄 기록과 관련된 파일에 다음 옵션을 사용합니다.

# History is appended after completion of each command and with extended information: timestamp and duration.
# This means the history is saved in chronological order (of command completion time).
# However, the history is not shared, so each terminal has its own history while it is open.
setopt INC_APPEND_HISTORY_TIME

# Keep more entries in memory and in .zsh_history file.
HISTSIZE=10000
SAVEHIST=5000

# When trimming history file, keep unique commands and trim duplicates first.
setopt HIST_EXPIRE_DUPS_FIRST

# Do not enter a command into the history if it is a duplicate of the previous event.
setopt HIST_IGNORE_DUPS

이 두 명령을 실행하면 제대로 작동합니다 ...

% sleep 1
% sleep 2

...이제 실행 시간과 기록에서 소요된 시간을 볼 수 있습니다.

% history -DE -2
 5056  21.11.2020 23:13  0:01  sleep 1
 5057  21.11.2020 23:14  0:02  sleep 2

그러나 .zsh_history파일을 보면 타임스탬프와 실행 시간은 추적되지 않고 명령만 표시됩니다.

% tail -3 .zsh_history
sleep 1
sleep 2
history -DE -2

보내도 hexdump -C비밀 문자는 공개되지 않습니다.

% tail -4 .zsh_history | hexdump -C
00000000  73 6c 65 65 70 20 31 0a  73 6c 65 65 70 20 32 0a  |sleep 1.sleep 2.|
00000010  68 69 73 74 6f 72 79 20  2d 44 45 20 2d 32 0a 74  |history -DE -2.t|
00000020  61 69 6c 20 2d 33 20 2e  7a 73 68 5f 68 69 73 74  |ail -3 .zsh_hist|
00000030  6f 72 79 0a                                       |ory.|
00000034

zsh이 정보가 어디에 저장되어 있는지 아시는 분 계신가요 ?

답변1

이 정보는 메모리를 제외한 어느 곳에도 저장되지 않습니다. 적어도 추가하지 않는 한

setopt EXTENDED_HISTORY

귀하의 파일에 ~/.zshrc. 그런 다음 $HISTFILE.

( setopt SHARE_HISTORY이 정보는 귀하의 정보에도 기록되지만 일시적으로만 기록됩니다. 쉘을 종료하면 $HISTFILE모든 시간 정보가 삭제됩니다.)$HISTFILE

관련 정보