#linux (1)

리눅스에서 명령어 히스토리 조회 할 때 날짜 및 시간 함께 표시하기



리눅스 환경에서 어떤 명령어를 입력하면 그 명령어 목록이 history에 저장됩니다. 


그런데 그 목록이 단순히 명령어 목록만 순서대로 나올 뿐 이게 언제 실행이 되었는지는 알 수가 없죠.


일반적으로 history명령어를 실행하면 아래처럼 출력됩니다.



  421  ls -l

  422  ./listAlgorithms.sh

  423  cat ./listAlgorithms.sh

  424  cd ..

  425  ls -l

  426  cd lib

  427  ls -l

  428  ../bin/listAlgorithms.sh

  429  history


여기서 사용자가 입력했던 명령어를 조회할때 언제실행 했는지를 알아야 할 때가 있습니다.


  그럴 경우 사용자 계정의 ~/.bash_profile 파일이나 /etc/profile에 HISTTIMEFORMAT 변수를 추가해 주면 history를 조회할 때 각 명령어를 입력한 날짜와 시간이 표시 됩니다.


1. ~/.bash_profile이나 /etc/profile에 아래 내용을 추가합니다.


  $ vi /etc/profile

.

.  

HISTTIMEFORMAT="%F %T - "

export HISTTIMEFORMAT

.

.



2. 적용


  $ . /etc/profile

또는

  $ source /etc/profile


3. 확인


  $ history

  421  2017-11-02 18:48:16 - vi /etc/profile
  422  2017-11-02 18:48:22 - . /etc/profile
  423  2017-11-02 18:48:25 - history


여기서 %F는 년월일을 표시하는 거고 %T는 시간을 의미합니다.


이 외에도 history 목록 개수를 지정하거나 history를 저장할 파일을 변경할 수 도 있습니다.


역시 .bash_profile 을 수정해서 아래 내용을 넣어주시면 됩니다.

물론 적용도 시켜줘야겠죠.

export HISTSIZE=450      -> 히스토리 명령어로 조회시 목록에 조회될 개수 export HISTFILESIZE=450    -> 히스토리 파일에 저장할 목록 개수 export HISTFILE=~/history    -> 히스토리를 저장할 파일

히스토리 목록에서 연속으로 입력한 동일한 명령어는 저장하지 않는 기능도 있습니다. 

export HISTCONTROL=ignoredups