Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스에서 실행된 명령어 기록을 자세히 확인하는 방법

리눅스에서 실행된 명령어 기록 확인하기

이 가이드에서는 리눅스에서 history 명령어를 사용해 지금까지 실행한 모든 명령어를 확인하는 방법을 소개합니다.

리눅스 서버를 사용하거나 관리하는 경우, 해당 머신에서 실행된 명령어 이력을 살펴볼 수 있으면 매우 유용합니다. 특히 문제를 디버깅할 때 "어떤 명령을 실행했더라?" 하고 되짚어봐야 하는 상황이 자주 생기는데, 이럴 때 history 명령어가 큰 도움이 됩니다.

기본 사용법

터미널에서 아래와 같이 입력하면 현재 로그인한 사용자가 실행한 명령어 목록이 순서대로 출력됩니다.

# history
...
946 rpm -R mutt-1.4.1-11.rhel4.i386.rpm
947 rpm -qR mutt-1.4.1-11.rhel4.i386.rpm
948 sudp rpm -qa | mail
949 sudo rpm -qa | mail
950 sudo rpm -qa | grep mail
951 rpm -qR sendmail-8.13.1-3.2.el4
952 cd scripts/log_parse/
...

명령어 실행 시간까지 표시하기

기본 출력만으로는 각 명령어가 언제 실행되었는지 알 수 없습니다. 실행 시점까지 함께 확인하고 싶다면 HISTTIMEFORMAT 환경 변수를 설정하면 됩니다.

# export HISTTIMEFORMAT="%F %T "

여기서 %F는 날짜(YYYY-MM-DD), %T는 시간(HH:MM:SS)을 의미합니다. 설정 후 다시 history를 실행하면 아래와 같이 각 명령어의 실행 날짜와 시간이 함께 표시됩니다.

# history
...
946 2009-07-20 08:12:33 rpm -R mutt-1.4.1-11.rhel4.i386.rpm
947 2009-07-20 08:09:33 rpm -qR mutt-1.4.1-11.rhel4.i386.rpm
948 2009-07-20 09:49:44 sudp rpm -qa | mail
949 2009-07-20 10:37:33 sudo rpm -qa | mail
950 2009-07-20 10:17:13 sudo rpm -qa | grep mail
951 2009-07-20 10:12:23 rpm -qR sendmail-8.13.1-3.2.el4
952 2009-07-20 10:22:43 cd scripts/log_parse/
...

설정을 영구적으로 적용하기

export로 설정한 값은 세션이 종료되면 사라집니다. 변경 사항을 계속 유지하려면 사용자 홈 디렉터리의 .bashrc 파일에 아래 내용을 추가하세요.

echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
source ~/.bashrc

참고로 히스토리 타임스탬프 기능은 bash 3.0 이상에서 지원됩니다. 또한 이전에 저장된 기록에는 시간 정보가 포함되어 있지 않기 때문에, 설정 직후에는 오래된 항목들이 정확한 실행 시간 대신 세션 시작 시간으로 표시될 수 있습니다.