본문 바로가기
정보보안 지망이!/Linux 기초

Linux1_vi 에디터

by Edes Kim 2020. 5. 18.

<vi 에디터>

: 리눅스에서 문서 편집 기능을 제공하는 명령어

 

1) 명령 모드 

- 커서를 이동하거나 문자를 삭제 그리고 다른 모드로 이동할 수 있는 모드

- vi 에디터로 문서를 편집하면 가장 먼저 실행되는 모드

 

사용형식

vi [편집하고 싶은 문서 경로와 이름]

ex) vi /backup/login.defs

 

k = 위로 이동

j = 아래로 이동

h = 왼쪽으로 이동

l = 오른쪽으로 이동

 

대문자는 띄어쓰기 기준으로 단어를 판단해서 이동하고 소문자는 특수문자와 띄어쓰기 기준으로 이동합니다

w,W = 다음 단어의 첫글자로 이동

e,E = 다음 단어의 끝으로 이동

$ = 행의 끝으로 이동

0 = 행의 처음으로 이동

G = 문서의 맨 끝으로 이동

gg = 문서의 맨 처음으로 이동

H = 현재 화면에 표시된 내용에서 맨 첫 번째 줄로 이동

M = 현재 화면에 표시된 내용에서 중간으로 이동

L = 현재 화면에 표시된 내용에서 맨 끝으로 이동

x = 현재 커서에 있는 문자를 삭제

dd = 현재 커서가 있는 라인을 전부 삭제

숫자 + dd = 현재 커서가 있는 라인부터 입력한 숫자만큼 라인을 전부 삭제

u = 작업하기 바로 전으로 이동

yy = 현재 커서가 있는 라인을 전부 복사

숫자 + yy = 현재 커서가 있는 라인에 입력한 숫자만큼 라인을 복사

p = 복사한 내용을 현재 커서 아래에 붙여넣기

P = 복사한 내용을 현재 커서 위에 붙여넣기


2) 삽입모드

- 명령모드에서 진입이 가능하며 사용자가 직접 문서 내용을 추가하거나 삭제할 수 있습니다

- 윈도우에서 메모장 사용하는 방식과 동일합니다

- 삽입모드로 들어가면 왼쪽하단에 insert 라는 문구가 나옵니다

- ESC를 누르면 다시 명령모드로 전환됩니다

 

i = 현재 위치에서 삽입모드로 전환

a = 현재 위치에서 우측으로 한 칸 이동 후 삽입모드로 전환

A = 행의 제일 마지막으로 이동하고 삽입모드로 전환

o = 커서 아래에 새로운 라인을 추가하고 삽입모드로 전환

O = 커서 위로 새로운 라인을 추가하고 삽입모드로 전환

ESC = 명령모드로 전환

 

3) 실행모드

- 명령모드에서 진입가능

- 문서파일 저장, 불러오기, 치환, 줄 번호 출력 등등 다양한 기능을 제공하는 모드

- 실행모드로 진입하려면 :,/,? 를 사용합니다

- ESC를 누르면 다시 명령모드로 전환합니다


패턴 검색

/ : 특정 문자열을 문서 내용 위에서부터 검색

? : 특정 문자열을 문서 내용 아래에서부터 검색

 

사용형식

/[찾고 싶은 문자] 입력 후 enter

?[찾고 싶은 문자] 입력 후 enter

패턴 검색 후 n을 누르면 위에서 아래 순서로 문자를 찾고

                 N을 누르면 아래에서 위로 문자를 찾습니다

 

#vi +'/PermitRootLogim' /etc/ssh/sshd_config

: 경로의 편집상태로 들어가고 안의 단어를 찾아서 커서를 미리 이동시켜줌


를 사용한 문자 변경(치환)

:se nu

- 문서에 줄번호 출력

:줄번호

ex) :15

- 입력한 줄번호로 커서 이동


:s/기존단어/바꾸고 싶은 단어

- 현재 커서가 있는 라인에서 특정 단어를 바꾸고 싶은 경우

:줄번호s/기존단어/바꾸고 싶은 단어

- 입력한 줄번호에 내용을 변경

:줄번호,줄번호s/기존내용/바꾸고 싶은 내용

- 지정한 줄번호 부터 줄번호 까지 내용을 한번에 변경

:%s/기존내용/바꾸고 싶은 내용

- 문서 전체에 내용을 한번에 변경


:!  명령어

- vi를 잠시 중단하고 입력한 리눅스 명령어를 실행

ex):! ls -l /home

:.! 명령어 

- 명령어 실행 결과를 현재 편집하고 있는 문서파일에 삽입

- 본문 내용을 삭제하고 삽입하기 때문에 매우 조심히 사용

 


:q

- 문서편집 종료

- 문서를 조금이라도 수정했다면 :q를 사용해서 나갈 수 없습니다

- 수정된 부분을 저장을 하지 않으면 :q를 사용할 수 없습니다

:w

- 문서 저장

:wq

- 문서를 저장하고 종료

:w [경로]

- 다른 이름으로 저장

ex) :w /home/testfile

:q!

- 저장하지 않고 문서편집 종료


:e 파일명

- 지정한 파일을 불러오기

ex) :e /backup/inittab

:e! 파일명

- 저장하지 않고 지정한 문서파일 불러오기

:enew

- vi를 나가지 않고 빈 문서파일 생성

:w >> 파일

- 현재 열려있는 파일의 내용을 지정한 문서파일 마지막에 삽입


:r 파일경로

- 현재 커서 아래에 지정한 파일 내용 삽입

ex) :r /home/inittab

:r! 명령어

- 현재 커서 아래에 지정한 명령어의 결과 삽입

ex) :r! ls -l /home


vi 창 분할

ctrl + wn

창 분할 후 커서 이동

ctrl + ww

'정보보안 지망이! > Linux 기초' 카테고리의 다른 글

Linux1_압축(수정중)  (0) 2020.05.20
Linux1_권한과 특수권한  (0) 2020.05.20
Linux1_사용자 계정  (0) 2020.05.20
Linux1_리눅스 명령어  (0) 2020.05.18
Linux1_기초  (0) 2020.05.18