기록 명령에 타임스탬프를 추가하려고 합니다.
export HISTTIMEFORMAT='%F %T '
, 그러나 기록(이전 및 신규)의 명령에는 타임스탬프가 표시되지 않습니다.
산출
history | tail
445 exoirt HISTTIMEFORMAT='F% T%'
446 export HISTTIMEFORMAT='F% T%'
447 history
448 history | tail
449 ls
450 cd
451 ls
452 cd
453 ls
454 cd
숫자와 열 사이에 날짜/시간 정보가 있을 것으로 예상됩니다. 여기처럼(아래 스크린샷에도 표시됨)
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
4 2008-08-05 19:02:39 cat /etc/redhat-release
산출
type history
예
history is an alias for history 0
~/.bashrc 파일에 변수를 삽입하려고 시도했지만 다시 작동하지 않습니다.
편집하다: 저는 칼리리눅스를 사용하고 있습니다. 시스템을 다시 시작하고 기록 크기와 데이터를 재설정해 보았습니다. 편집 #2: 산출
echo $ZSH_VERSION
5.8
산출
echo $SHELL
/usr/bin/zsh
답변1
칼리리눅스를 사용하고 계십니다. Kali Linux 배포판 zsh
은 bash
.
이는 사용자가 변경한 내용이 ~/.bashrc
사용하는 셸에 표시되지 않음을 의미합니다. 대신, 쉘은 zsh
이 ~/.zshrc
파일을 사용하여 대화형 쉘 세션을 초기화합니다.
또한 특정 작업을 수행할 수 있는 zsh
shell이라는 쉘 변수가 없습니다 . HISTTIMEFORMAT
(그런데 this 를 사용해 왔다면 이 변수를 bash
사용할 필요가 없습니다 .) 대신, 기록을 다른 방식으로 보려면 내장 명령을 export
사용해야 합니다 .history
그러나 먼저 타임스탬프를 포함하여 확장된 형식으로 기록 정보를 쉘에 저장해야 합니다. 당신은 이것을
setopt EXTENDED_HISTORY
~/.zshrc
(시작하는 모든 쉘 세션에서 이 작업을 수행하려는 경우 이를 수행할 수 있습니다). 이 쉘 옵션은 zshoptions
매뉴얼에 설명되어 있습니다.
history
그런 다음 Kali Linux에 기본적으로 ~/.zshrc
설정되어 있는 다소 쓸모없는 별칭을 제거해야 합니다. 이로 인해 history
명령을 올바르게 사용할 수 없게 됩니다.
해당 줄을 주석 처리하세요.
alias history="history 0"
또는 추가
unalias history
파일 끝에.
그러면 다음을 사용하여 타임스탬프를 볼 수 있습니다.
history -i
또한 의 출력 형식을 지정하는 방법에 대한 설명서 fc
( 실제로는)의 설명서를 참조하세요. history
예를 들어fc -l
zshbuiltins
history
history -t '%F %T'
history -i
(이는 from 의 출력 형식과 거의 동일 하지만 초가 추가 됩니다 .)