본문 바로가기
기타

[bash] history 사용법

by 초특급하품 2020. 2. 11.

이전에 어떤 명령을 입력했었는지 이력을 확인하는 명령이다. 단순히 history 명령만으로는 어제 무엇을 했었나 상기시켜주는 정도밖에 안되고 추가 기능을 활용하면 더욱 쓸모가 있다.

 

!로 시작하는 옵션으로 이전 명령을 실행할 수 있지만 실행 전에 확인을 못한다는 점에서 이건 잘 안 쓰게 된다. 아예 방금 전 명령을 치더라도 직접 보고 하는 게 맘 편하니 오히려 방향키를 더 자주 쓴다. 하지만 방향키만으로는 80% 정도 부족하다. 이전에 입력했던 명령들을 검색 정도는 할 수 있어야 한다. 

 

ctrl+r

ctrl+r을 누르면 (reverse-i-search) 라는 문구와 함께 이전 명령어를 검색할 수 있는 폼이 뜬다.

검색 결과는 가장 최근의 명령어부터 입력한 문자와 일치하는 명령을 보여준다. backspace도 가능하기 때문에 틀린 문자를 입력하거나 매칭 되는 결과가 없으면 지우고 다시 검색할 수 있다.

ctrl+r을 한번 더 누르면 다음 검색 결과를 보여주고 enter로 해당 명령을 실행할 수 있다.

 

~/.bash_history

history는 현재 세션 버퍼에 있는 이력을 가져와서 보여준다. 역시 입력한 명령도 이 버퍼에 저장한다.

따라서 다른 세션의 터미널에서 history와 공유되지 않는다. 더 자세히는 세션이 시작할 때 가져온 데이터만 공유하고 그 이후에는 각자 버퍼에서 조작된다.


각 버퍼에 저장된 정보가 다시 모이는 곳이 HISTFILE 환경변수가 가리키는 ~/.bash_history 파일이다.

로그아웃을 하거나 history -a 명령을 치면 현재 버퍼에 있는 history를 추가할 수 있다.


반대로 history -c로 버퍼에 저장된 history 목록을 삭제할 수 있다. 여기에 더해 다른 세션이 없는 상태에서 ~/.bash_history 파일까지 삭제한다면 더 완벽히(?) 흔적을 지울 수 있다.

'기타' 카테고리의 다른 글

bracketed paste mode  (0) 2020.02.12
newline의 골치 CR, LF  (0) 2020.02.11
ssh 터널링  (0) 2020.02.02
mongodb index를 통한 쿼리튜닝  (0) 2019.12.31
[bash] screen 사용 설명서  (0) 2019.12.26

댓글