더북(TheBook)

3.2.2 히스토리 확장

히스토리 확장은 특별한 표현식을 통해 명령 히스토리에 접근하는 셸의 기능이다. 이 표현식은 느낌표 기호(일반적으로 ‘뱅’이라고 읽는다)로 시작한다. 예를 들어 느낌표 기호 두 개(!!)는 바로 이전에 입력한 명령으로 평가된다.

$ echo Efficient Linux
Efficient Linux
$ !!                      # 느낌표 두 개 = 바로 이전 명령
echo Efficient Linux      # 현재 실행되는 명령을 보여준다
Efficient Linux

명령 히스토리에서 어떤 특정한 문자열로 ‘시작’하는 가장 최근 명령을 사용하려면, 느낌표 뒤로 이 문자열을 붙여 입력한다. Enter 키를 누르면 가장 최근에 실행했던 grep 명령이 실행된다. !grep을 입력해보자.

$ !grep
grep Perl animals.txt
alpaca  Intermediate Perl       2012    Schwartz, Randal

명령 히스토리에서 어떤 특정한 문자열을 ‘포함’하는 가장 최근 명령을 사용하려면, 다음과 같이 물음표로 해당 문자열을 감싼 표현식을 입력한다.1

$ !?grep?
history | grep -w cd
  1000 cd $HOME/Music
  1092 cd ..
...
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.