문제
다음 명령의 결과로 알맞은 것은?
① 'command not found'라는 오류 메시지를 출력한다. ② 히스토리에 저장된 명령어 목록을 출력한다. ③ 가장 마지막에 실행한 명령을 재실행한다. ④ 로그인한 후에 가장 처음 실행한 명령을 재실행한다.
정답
3번
해설
정답: 3. "!!" 는 히스토리에서 가장 마지막에 실행한 명령을 그대로 다시 불러 실행하는 이벤트 지시자이다.
오답 풀이
- 1번: "!!" 는 유효한 히스토리 표기이므로 'command not found' 오류를 내지 않는다.
- 2번: 히스토리 목록 자체를 출력하는 것은 history 명령이지 "!!" 가 아니다.
- 3번: 가장 마지막에 실행한 명령을 재실행하므로 옳다.
- 4번: 로그인 후 처음 실행한 명령(가장 오래된 명령)을 재실행하는 표기는 보통 "!1" 등이며, "!!" 는 직전 명령이다.
보충 개념 이벤트 지시자: !!(직전 명령), !n(히스토리 n번), !-n(n개 전 명령), !문자열(해당 문자열로 시작한 가장 최근 명령). sudo !! 처럼 앞에 명령을 붙여 재실행하기도 한다.