더북(TheBook)

이 외에도 명령 히스토리의 특정 위치(history 명령의 출력에서 본 좌측 숫자)에 저장된 명령을 불러올 수도 있다. 예를 들어 표현식 !1203은 ‘명령 히스토리에 1,203번째 저장된 명령을 불러오라’는 뜻이다.

$ history | grep hosts
  1203 cat /etc/hosts
$ !1203                   # 명령 히스토리에 1203번째 명령을 불러온다
cat /etc/hosts
127.0.0.1  localhost
127.0.1.1  example.oreilly.com
::1        example.oreilly.com

이때 음수 값을 사용하면 상대적 위치를 가리킬 수 있다. 예를 들어 표현식 !-3은 ‘마지막 명령부터 역순으로 세 번째에 위치하는 명령’을 가리킨다.

$ history
  4197 cd /tmp/junk
  4198 rm *
  4199 head -n2 /etc/hosts
  4199 cd
  4200 history
$ !-3                     # 마지막 명령부터 역순으로 세 번째에 위치하는 명령을 불러온다
head -n2 /etc/hosts
127.0.0.1      localhost
127.0.1.1      example.oreilly.com
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.