[유닉스 이론과 실습] 4장 연습문제
01. 다음 중 유닉스 편집기에 대한 설명으로 옳은 것은 무엇인가?
① ssh 환경에서만 사용할 수 있다.
② 그래픽 사용자 인터페이스에서는 사용할 수 없다.
③ vi와 vim은 함께 사용할 수 있는 기능들이 많이 있다.
④ 대표적인 편집기로 ed가 있다.
정답 : ③
① 우리는 ssh로 서버에 접속하여 유닉스를 사용하는 환경을 가정하고 있다.
② 그래픽 사용자 인터페이스의 편집기는 윈도우의 메모장이나 워드 패드와 사용방법이 비슷하여 쉽게 파일을 작성할 수 있다.
③ vim은 vi와 유사한 화면 편집기이다. 이름과 같이 vim의 기본 기능을 유지하면서 확장된 다양한 기능을 제공하고 있어 최근 많이 사용되고 있다.
④ ed는 유닉스 초기의 표준 편집기로 사용이 불편해 지금은 거의 사용하지 않는다.
02. vim을 이용하여 test 파일을 편집하려 한다. 파일 내용이 다음과 같고, 커서가 1행 첫 글자에 있을 때 2행의 Unix를 삭제하는 vim 명령으로 적합하지 않은 것을 고르시오.
1 ============= 2 Hello, Unix World!! 3 Hello, Unix World!! 4 ============= |
① j - w - w - dw
② j - w - dd
③ /Unix - [Enter] - dw
④ :2,2s/Unix//g
정답 : ② j - w - dd
j : 커서를 한 행 아래로 이동시킨다.
w : 커서를 다음 단어의 첫 글자 위치로 이동시킨다.
dw : 커서 위치의 단어를 삭제한다.
dd : 커서가 위치한 행을 삭제한다.
/문자열 : 문자열을 아래 방향으로 검색한다.
:<범위>s/문자열1/문자열2/g : <범위> 안의 모든 행에서 모든 문자열1을 문자열2로 바꾼다.
03. 2번 문제의 파일에서 Unix World!!를 버퍼에 저장하는 명령으로 올바른 것을 고르시오.
① j - w - w - v - $ - y
② j - w - yy
③ /Unix - [Enter] - y
④ j - V - $ - y
정답 : ① j - w - w - v - $ - y
v : 현재 커서 위치부터 블록 지정
V : 현재 커서가 위치한 행 단위로 블록 지정
$ : 1행부터 마지막 행까지 지정한다.
y : 블록 복사
yy : 커서가 위치한 행을 복사한다.
04. 2번 문제에 주어진 파일에서 2, 3행의 Unix World만 블록으로 선택하려면 어떤 비주얼 모드로 전환해야 하는지, 모드와 전환키를 올바른 매칭한 것을 고르시오.
① 비주얼 - v
② 비주얼 라인 - ^V
③ 비주얼 - V
④ 비주얼 블록 - ^V
정답 : 비주얼 블록 - ^V
비주얼 - v : 현재 커서 위치부터 블록 지정
비주얼 라인 - V : 현재 커서가 위치한 행 단위로 블록 지정
비주얼 블록 - ^v : 현재 커서가 위치한 열부터 열 단위로 블록 지정
05. 다음중 입력 모드로 전환하는 명령이 아닌 것은?
① i
② s
③ cw
④ r
정답 : ④ r
① i : 커서 앞에 입력한다. (현재 커서 자리에 입력)
② s : 커서가 위치한 문자를 [Esc] 키를 누르기 전까지 입력한 내용으로 수정한다.
③ cw : 커서의 위치부터 현재 단어의 끝까지를 새로 입력한 내용으로 수정한다. [Esc] 키를 입력하면 수정이 종료된다.
④ r : 커서가 위치한 문자를 다른 문자로 수정한다.
06. vim의 동작 모드를 간단히 설명하시오. ★
정답
vim의 주요 모드에는 명령 모드와 입력 모드, 마지막 행 모드, 비주얼 모드가 있다.
명령 모드에서 입력한 키들은 커서 이동이나 화면 이동 같은 명령키로 해석되어 실행된다.
입력 모드에서 보통의 편집기처럼 인식되어 입력된다.
마지막 행 모드는 화면의 가장 하단으로 커서가 이동해 특별한 명령들을 사용할 수 있는 모드이다.
비주얼 모드는 블록을 표시하여 블록 단위 작업을 수행하는 모드이다.
07. 다음 입력 명령의 차이점을 설명하시오. ★
1) i와 I
2) a와 A
정답
1) i는 커서 앞에 입력하는 것이고, I는 커서가 위치한 행의 첫 컬럼으로 이동해 입력하는 것이다.
2) a는 커서 뒤에 입력하는 것이고, A는 커서가 위치한 행의 마지막 컬럼으로 이동해 입력하는 것이다.
08. 파일의 끝으로 이동하는 방법을 두 가지 이상 적으시오. ★
정답 : G, :$
G와 :$는 마지막 행으로 이동한다.
09. 길이가 3자인 단어를 수정하기 위해 사용할 수 있는 명령키를 나열하시오.
정답 : 3cw, 3s
#cw : #에는 수정할 단어의 수를 지정, 예를 들어 3cw는 커서 위치부터 3단어 수정
#s : #에는 수정할 단어의 수를 지정, 예를 들어 5s는 커서 위치부터 5단어 수정
10. 파일을 잘못 수정하였다. 원래대로 돌아가는 방법을 모두 적고 설명하시오.
정답 : u, U
u : 방금 수행한 명령을 취소한다.
U : 해당 행에서 한 모든 명령을 취소한다.
11. 10행부터 30행 사이에 있는 모든 Unix를 Linux로 고치는 명령을 적으시오. ★
정답 : :10,30s/Unix/Linux/g
12. 현재 커서의 위치에 input이라는 이름의 파일을 삽입하는 명령을 기술하시오. ★
정답 : :r input
:r 파일명 - 지정한 파일을 읽어 현재 커서 위치로 삽입한다.
13. 4~6행을 8행 다음의 위치로 이동하는 명령을 순서대로 적으시오. ★
정답 : :①4,6d ②:2pu
14. 대소문자를 바꿔주는 명령키를 적으시오.
정답 : ~
15. 파일을 저장하고 vim을 종료하는 방법을 두 개 나열하시오.
정답 : :wq, ZZ
16. 파일을 편집하고 새로운 이름으로 저장하려고한다. 저장하고자 하는 이름이 현재 디렉토리에 있는지 확인하려면 어떻게 하면 될까? 새로운 터미널을 열지 않고 확인할 방법을 적으시오. ★
정답 : :!ls 파일명
- !ls 파일명 : 명령을 이용하여 파일이 존재하는지 확인한다.