이 외에도 명령 히스토리의 특정 위치(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
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.