유닉스 기초/[유닉스 이론과 실습] 연습문제

[유닉스 이론과 실습] 4장 연습문제

ʕっ•ᴥ•ʔっ 프론트엔드 개발하는 쿼카 2021. 4. 1. 22:36

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 파일명 : 명령을 이용하여 파일이 존재하는지 확인한다.