활성화하기 전에 기록 타임스탬프는 어디에 저장되어 있었나요?

활성화하기 전에 기록 타임스탬프는 어디에 저장되어 있었나요?

기록에 대한 타임스탬프를 설정하려고 합니다. 나의 첫 번째 시도는 do export EXTENDED_HISTORY=ON명령이었지만 작동하지 않는 것 같았습니다. 그런 다음 echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc명령을 실행했고 작동했습니다.

타임스탬프를 활성화한 후 다시 로드 . /etc/bash.bashrc하면 history타임스탬프와 함께 내 기록이 표시됩니다.

하지만 제가 알아차린 이상한 점은 기록이 타임스탬프를 활성화하기 전에 어떻게 저장한다는 것입니다.

내 기록의 첫 번째 부분에서는 모든 명령의 타임스탬프가 20:43:04입니다. 여기에 이미지 설명을 입력하세요.

명령 619부터 시작하는 두 번째 부분에서는 이러한 명령이 모두 자체 타임스탬프를 저장합니다.하지만 지금은 기록 타임스탬프를 활성화하지 않았습니다..

여기에 이미지 설명을 입력하세요.

대신 명령 694에서 기록 타임스탬프를 활성화합니다.

여기에 이미지 설명을 입력하세요.

내 $HISTSIZE는 오래 전에 설정되었으며 1000줄입니다. 저는 Konsole 2.10.5 터미널과 Ubuntu 13.04를 사용하고 있습니다.

캐싱이 Konsole 또는 bash의 기능인지는 모르겠습니다.

내 질문은, 방법과 장소입니다.역사'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc`를 수행하기 전에 타임스탬프를 저장합니까?

이전 기록 타임스탬프가 모두 저장되지 않는다는 점에서 제한적인 것으로 보입니다(즉, 1~618 명령이 동일한 타임스탬프를 공유함). 아마도 명령 619가 이 Konsole 탭 세션의 첫 번째 명령이었기 때문일 것입니다. 기억이 나지 않습니다.

답변1

Bash는 항상 타임스탬프를 기억하고 HISTTIMEFORMAT변수는 기록된 내용만 결정합니다 ~/.bash_history. 따라서 bash가 기록 파일에서 읽는 명령의 경우 해당 명령이 작성된 타임스탬프만 알고 있지만 항상 "자신의" 타임스탬프를 알고 있습니다.

관련 정보