리눅스 명령어 중 하나인 history에 대하여 알아봅니다. history는 무엇이고 언제 사용할까요?



# 리눅스 명령어 history 알아보기
리눅스에서 history 커맨드는 자주 사용되는 명령어로 history를 입력하면 최근에 입력한 커맨드들을 순서대로 나열해 출력해줍니다. 그럼 아래에서 자세히 알아봅니다.

예를들어 history를 입력해보니 아래와 같이 출력되었습니다.
...
118  clear
119  ls
120  cd test
121  history

이처럼 이 전 입력된 명령어들이 무엇인지 확인할 수 있죠. 만약 현재 백업을 해야하거나 어떤 파일을 옮겨야 할 때... 아니면 내가 방금 입력한 명령어를 다시 확인하고 싶을 때도 사용할 수 있는 매우 유용한 명령어입니다.

그럼 아래는 history를 활용하는 몇 가지 방법을 알아봅니다.


! 원하는 명령어만 찾는 방법, history
예를들어 git을 사용한 명령어만 보고 싶다면? git을 검색어로 history에서 찾으면 가능합니다. 아래와 같이 입력합니다.
history | grep git

출력 결과는 아래와 같습니다.
22  git show
26  git branch
28  git checkout develop
29  git pull
39  git add .

보시는 것처럼 git을 사용한 다양한 명령어를 확인할 수 있습니다.


! 최근 명령어 원하는 개수만 출력하기
만약 최근 입력된 5개의 명령어만 보고 싶다면? history 뒤에 원하는 출력 라인 수를 입력하도록 합니다.
history 5

이제 출력된 값을 확인하면 최근 입력 커맨드 5개만 보여주게 됩니다.


! 커맨드 중 원하는 것만 다시 실행하기
직전 또는 원하는 명령어만 선택해 출력하는 것이 가능합니다. 먼저 바로 이 전(직전) 입력한 명령어를 실행하는 방법은 !!를 입력하도록 합니다.

@ 마지막 입력한 커맨드 다시 실행하기
예를들어 방금 ls 명령어를 사용했는데 다시 사용하기 위해서 !!을 사용할 수 있죠.
!!

마지막 입력한 명령어가 ls 이므로 ls를 다시 실행하게 됩니다.

@ 원하는 이전 명령어 실행하기
history를 실행할 때 앞에 번호를 같이 출력하죠. 이 번호 앞에 !를 함께 사용해 출력할 수 있습니다.
118 clear
119 ls
120 cd test
121 history

여기서 clear 명령어를 다시 실행하려면? !118을 입력해야겠죠.
!118

이제  clear를 실행하여 화면을 깨끗히 삭제합니다.


! 이 전 history 삭제하기, 지우기
이 전에 입력된 모든 history를 삭제하고 싶다면? 이 때는 history -c를 입력합니다.
history -c

history

이제 아래와 같이 출력됩니다.
1  history

기존의 모든 커맨드 입력 내용은 사라지고 마지막의 history만 출력하게 되었습니다.

@ 원하는 라인만 삭제하기
전부가 아닌 원하는 라인만 선택해 삭제할 수도 있습니다. -d 옵션을 사용합니다. 만약 120번째 명령어를 삭제한다면 아래와 같이 사용합니다.
history -d 120

이제 120번 줄은 삭제되었습니다.

여기까지 history 명령어에 대하여 자세히 알아봤습니다.