이전에 어떤 명령을 입력했었는지 이력을 확인하는 명령이다. 단순히 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 |
댓글