zsh 셸 history 트래킹 강화

최동민·2024년 2월 28일
0

bash 셸의 경우

#vi /etc/profile 하단에 아래 내용추가

###history 날짜 및 시간 추가
HISTTIMEFORMAT="%F %T -- "
export HISTTIMEFORMAT

또는

HISTTIMEFORMAT="[%Y-%m-%d_%H:%M:%S] " 

source /etc/profile 입력 시 적용됨.

zsh 셸의 경우

#vi ~/.zshrc 하단에 아래 내용추가

HISTSIZE=10000
SAVEHIST=10000
setopt EXTENDED_HISTORY
export HIST_STAMPS="[%F %T]"

source ~/.zshrc 입력 시 적용됨.

적용 결과

  225  [2024-02-28 17:29:06]  ll
  226  [2024-02-28 17:29:10]  history
  227  [2024-02-28 17:29:20]  source ~/.zshrc
  228  [2024-02-28 17:29:26]  history
  229  [2024-02-28 17:32:14]  vi ~/.zshrc
  230  [2024-02-28 17:33:57]  cd /var/log
  231  [2024-02-28 17:33:58]  ll
  232  [2024-02-28 17:33:59]  ls -lrth

이번에는 입력하는 명령어를 /var/log 경로에 command.log로 저장할 수 있도록 해보겠다.

#vi ~/.zshrc 하단에 아래 내용추가

log_command() {
  # 현재 명령어와 시간을 로그 파일에 기록
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] $PWD $1" >> /var/log/command.log
}
preexec() {
    log_command "$1"
}

source ~/.zshrc 입력 시 적용됨.

/var/log/command.log 파일 로깅 출력 확인

24-02-28 17:48:56] /var/log free -g
[2024-02-28 17:49:00] /var/log vi command.log
[2024-02-28 17:49:00] /var/log vi command.log
[2024-02-28 17:50:07] /var/log vi ~/.zshrc
[2024-02-28 17:50:07] /var/log vi ~/.zshrc
[2024-02-28 17:50:36] /var/log pwd
[2024-02-28 17:50:36] /var/log pwd
[2024-02-28 17:50:43] /var/log cat command.log
[2024-02-28 17:50:43] /var/log cat command.log
profile
코드를 두드리면 문이 열린다

0개의 댓글