문제
vi 편집기로 /etc/hosts 파일 수정 중 시스템이 다운되어 재부팅이 되었다. 다음 중 수정 중이던 파일로 복구 할 수 있는 명령으로 알맞은 것은?
① vi -r ② vi -r /etc/hosts ③ vi -r /etc/.hosts.swp ④ vi -r ./etc/hosts.swp
정답
2번
해설
정답: 2. vi 는 비정상 종료 시 스왑(.swp) 파일을 남긴다. 복구는 원본 파일명을 지정해 "vi -r /etc/hosts" 로 실행하면 해당 파일의 스왑에서 편집 내용을 되살린다.
오답 풀이
- 1번: "vi -r" 만 쓰면 복구 가능한 스왑 목록만 보여줄 뿐 특정 파일을 바로 복구하지 못한다.
- 2번: 복구 대상 파일명을 지정한 "vi -r /etc/hosts" 로 옳다.
- 3번·4번: -r 뒤에는 swp 파일 경로가 아니라 원본 파일명을 주는 것이 정석이며, 제시된 경로 표기도 부정확하다.
보충 개념 vi -r 은 swap(.파일명.swp)에 저장된 변경분으로 복구한다. 복구 후에는 남아 있는 .swp 파일을 삭제해야 다음 편집 시 경고가 사라진다.