History 명령으로 표시되는 행 번호가 less 및 wc -l로 표시되는 기록 파일의 행 번호와 다른 이유는 무엇입니까?

History 명령으로 표시되는 행 번호가 less 및 wc -l로 표시되는 기록 파일의 행 번호와 다른 이유는 무엇입니까?

less -N .bash_history및 의 줄 번호는 wc -l .bash_historybash 내장 명령으로 표시된 줄 번호보다 44개 더 많은 줄입니다 history. 히스토리 목록의 마지막 20개 항목과 히스토리 파일의 마지막 20개 항목을 history비교해 보면 less명령이 동일한 것으로 확인되어 중복 명령의 원인을 제외하고 히스토리 레코드 사이의 줄 번호가 나타나는 원인은 무엇입니까? ? 명령과 화장실 이하?

나는 처음에 히스토리 명령이 단지 히스토리 파일의 명령 수를 계산하는 것이라고 가정했지만 다른 결과 less -N또는 wc -l제안은 그렇지 않습니다.

답변1

이는 bash_history가 각 명령의 Epoch 타임스탬프를 기록할 수 있기 때문입니다.

HISTTIMEFORMAT 환경 변수는 bashrc 파일에서 HISTTIMEFORMAT="[%F %T] ")로 설정됩니다. Bash는 사용자가 BASH 내장 기록을 사용하여 기록을 확인할 때 타임스탬프를 저장합니다. 사람이 읽을 수 있는 형식(예: 2019-07-24 15:40:19)으로 간단한 표시 방식으로 표시됩니다. 그러나 이러한 기록 세션이 파일(예: ~/.bash_history)에 저장되면 타임스탬프는 Unix 시간(epoch 초 이후)으로 표시됩니다.

-r 또는 -w 옵션과 함께 기록을 사용하여 .bash_history 파일을 가져올 수 있습니다.

https://ss64.com/bash/history.html

이것이 귀하의 질문에 대한 답변이 되기를 바랍니다.

관련 정보