Secret Poten

9. CentOS 제8장 + vi사용법 (vi명령어 정리) 본문

리눅스/CentOS

9. CentOS 제8장 + vi사용법 (vi명령어 정리)

potentail 2016. 9. 3. 19:58

오랜만에 올려보는 리눅스 강좌군요 ㅠㅜ

그동안 올리기 귀찮아서 매우 많이 미루고 있었습니다.


이 강좌를 마지막으로 대충 기본적인것은 모두 끝났다고 보시면 됩니다

다음강좌부터는 서버를 열고 관리하는것을 한번 해볼까 합니다.


대충 명령어알고 vi만 쓸수있으면 너도 나도 리눅스를 잘 다룰수가 있습니다

기본에 충실하면 다른 리눅스를 쓰더라도 쉽게 익힐수가 있죠(칼리리눅스 제외)


칼리리눅스는 그만큼 머리를 굴려서 써야하는 리눅스인만큼 저도 쓰기가 어렵더라구요

(압축파일 비번정도는 풀수 있습니다)


그러면 거두절미하고 바로 시작해보도록 하겠습돠


먼저 vi는 윈도우의 메모장 혹은 텍스트편집기로 알고계시면 됩니다.

잘 알고계실테지만 리눅스는 원래 TUI 입니다. (Text User Interface)

그래서 윈도우처럼 메모장열고 쓰고하는것이아니라 키보드로 모든것을 할수가 있죠




그러면 먼저 vi를 열어봅시다.


vi /tsetvi


그냥 vi를 열게되면 명령모드로 들어오게됩니다.


여기서 vi의 모드에 대해 조금 설명해드릴까 합니다.


기본적으로 2가지의 모드가 있다고 보시면 됩니다.

1. 입력모드 2. 명령모드


입력모드는 말그대로 키보드로 문자를 입력하면 그대로 써지게 됩니다.

명령모드는 복사, 붙여넣기 행삭제 저장 종료등을 명령할때 사용하는 모드입니다.


뭐 주구장창 명령어는 많지만 실제로 많이 사용하는 명령어를 몇가지 추려보도록 하겠습니다


일단은 표를보시고 대~충 무슨무슨 키가 있구나 정도만 생각하시면됩니다.

삽입 명령

a

커서 뒤에 입력

A

라인 끝에 입력

i

커서 앞에 입력

I

라인시작 부분에 입력

o

커서 있는 라인 밑에 입력

O

커서가 있는 라인 위에 입력

커서 이동 명령

h

왼쪽으로 커서 한 칸 이동

H

화면의 처음으로 이동

L

오른쪽으로 한 칸 이동

L

화면 끝으로 이동

e

다음 단어의 마지막으로 이동

E

커서를 공백으로 구분된 다음 단어 끝으로 이동

b

한 단어 뒤로 이동

B

커서를 공백으로 구분된 이전 단어로 이동

w

커서를 한 단어 뒤로 이동

W

커서를 공백으로 구분된 다음 단어로 이동

k

커서를 한 라인 위로 이동

j

커서를 한 라인 아래로 이동

O

커서를 라인의 시작으로 이동

$

커서를 라인의 끝으로 이동

Enter

커서를 다음 라인 시작으로 이동

-

커서를 전 라인의 시작으로 이동

Ctrl + F

다음 화면으로 이동

Ctrl + D

화면의 반만 앞으로 이동

Ctrl + B

전 화면으로 이동

Ctrl + U

화면의 반만 뒤로 이동

G

커서를 텍스트 마지막 라인으로 이동

숫자G

커서를 숫자 라인만큼 이동

M

커서를 화면 중간 라인으로 이동

커서를 전 위치로 이동

(

문장의 시작으로 이동

{

문단의 시작으로 이동

)

문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동

}

문단 끝으로 이동

삭제 명령

x

커서가 있는 문자 삭제

X

커서가 있는 문자 앞에 있는 문자 삭제

dw

커서가 있는 단어 삭제

db

커서가 앞에 있는 단어 삭제

dW

공백으로 구분된 뒷 단어 삭제

dB

공백으로 구분된 앞 단어 삭제

dd

커서가 있는 라인 삭제

D

커서가 있는 라인의 나머지 삭제

d)

문장의 나머지 삭제

d}

문단의 나머지 삭제

dG

파일의 나머지 삭제

dH

화면의 시작까지 삭제

dL

화면의 나머지 삭제

J

커서와 다음 단어의 공백을 모두 삭제

바꾸기 명령

r

커서에 있는 문자 대치

R

입력 모드로 한 문자씩 덮어씀

s

커서가 있는 문자 삭제 후 입력 모드로 전환

S

커서가 있는 줄을 삭제 후 입력 모드로 전환

cb

커서가 있는 앞 문자 삭제 후 입력 모드

cW

공백으로 구분된 뒷 단어를 삭제 후에 입력 모드

cB

공백으로 구분된 앞 단어 삭제 후 입력 모드

cc

커서가 있는 라인을 삭제하고 입력 모드

C

커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환

cO

커서에서부터 라인의 시작까지 텍스트 바꾸기

c

특정 텍스트 바꾸기

c)

문장의 나머지 바꾸기

c}

문단의 나머지 바꾸기

cG

파일의 나머지 바꾸기

cm

표시까지 모든 것 바꾸기

cL

화면의 나머지 바꾸기

ch

화면의 시작까지 바꾸기

이동

p

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

P

삭제나 복사된 텍스트를 커서가 잇는 문자나 라인 앞에 삽입

dw p

커서가 있는 단어를 삭제한 후 이를변경한 커서가 있는 것 뒤에 삽입

dw P

커서가 잇는 단어를 삭제 후 이를 변경한 커서 있는 곳 앞으로 삽입

d p

지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동

d) P

문장의 나머지로 이동

d} p

문단의 나머지로 이동

dG P

파일의 나머지로 이동

dH p

회면 시작 부분으로 이동

dL P

화면의 나머지를 이동

복사

yw

커서가 있는 단어를 복사

yb

커서가 있는 앞 단어를 복사

yW

공백으로 구분된 뒷 단어 복사

yB

공백으로 구분된 앞 단어를 복사

y

특정한 다음 텍스트 복사

yy

커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동

y)

문자의 나머지 복사

y}

문단의 나머지 복사

yG

파일의 나머지 복사

yH

화면의 시작까지 복사

yL

화면의 나머지 복사

검색

/patter

n

텍스트에서 앞으로 패턴 검색

>patter

텍스트에서 뒤로 패턴 검색

n

앞 또는 뒤로 이전 검색 반복

N

반대 방향으로 이전 검색 반복

/

전 검색을 앞으로 반복

?

전 검색을 뒤로 반복

 

vi 에디터 종료 마치기 명령

:q

그대로 종료하기

:q!

변경된 내용을 저장하지 않고 강제로 종료하기

:wq

변경된 내용을 저장하고 종료하기

:x

:wq와 동일한 명령

ZZ

:wq와 동일한 명령


삽입 명령

a

커서 뒤에 입력

A

라인 끝에 입력

I

커서 앞에 입력

I

라인시작 부분에 입력

o

커서 있는 라인 밑에 입력

O

커서가 있는 라인 위에 입력

방향키를 이용한 커서 이동 명령

<-, Del

왼쪽으로 커서 한 칸 이동

PageUp

화면 위로 이동

->

SpaceBar

오른쪽으로 한 칸 이동

PageDown

화면 아래로 이동

윗 줄로 커서 이동

Enter

다음 줄 첫 칸으로 


삽입모드 : A, I(i), O

명령모드 : G, 숫자G, x, r, yy, :q!, :wq, p, dd, gg(제일 처음으로 돌아가기), :set nu (행번호 표시), :set nonu(행번호 감추기)


ESC : 삽입모드에서 명령모드로 변경


[표에 없는 명령어도 몇개 있습니다. 하지만 많이 사용하는 명령어는 제가 적은것들을 주로 사용합니다]


대충 이정도만 외워두시면 됩니다.

굳이 외울려고 하지 않으셔도 쓰다보면 자동으로 알게되는것들이라 머리 꽁꽁싸매고 외우는것보다

직접 vi를 사용함으로써 익히시는게 좋습니다.


요즘은 vi의 업그레이드 버젼인 vim을 쓰시는분들도 많은데 vi나 vim이나 큰차이는 없기때문에

vi를 사용하실줄알면 vim도 사용하실수 있습니다


그런데 데스크탑모드로 설치해서 gedit을 쓰면되는데 왜 안쓰나요??

라고 하실텐데 나중에 회사 취직을하시던 서버를 운영하시던 할때

대부분 서버를 구동하기위해 다른건 전부 배제하고 TUI모드에서만 모든것을 처리합니다

당연한 이야기겠지만 서버구동에있어서 필요없는건 전부 배제를 해야합니다.

그래서 요즘에 윈도우 서버에서 리눅스 서버로 많이 갈아타죠 (비용적인 측면이나 서버의 안전성을 고려했을때)


그러면 vi를 사용해보도록하죠


a키를 눌러서 삽입모드로 가줍시다

그상태에서 막 단어를 입력해줍시다.



대충 입력을 하셨으면 ESC키로 다시 명령모드로 가준다음 :wq로 저장하고 나가봅시다.



cat 명령어를 사용하여 testvi파일을 열어봅시다.



대충 vi사용법은 감잡으셨을지 잘 모르겠지만 직접 명령어들을보면서 써보는게 가장 중요하다고 생각됩니다


그러면 복사 붙여넣기를 한번 해봅시다


vi /testvi 를 다시 열어서 2~3줄 더적어 봅시다.



대충 이런식으로 끄젹어 줍시다 (딱히 적을문장이 생각이 안났어요 ㅠㅜ)


일단은 그냥 yy 를 하시면 그줄만 복사가 되지만 커서가 있는 위치에서

숫자를 누르시면 그만큼 선택이 됩니다.


일단은 커서를 1번째 줄로 향하게하고 3yy 를 눌러줍시다


3yy

짜잔~ 이런식으로 3줄이 복사가 되었다고 뜹니다


그러면 I'm Good Youtuber 아랫줄에 가서 p를 눌러줍시다.

그러면 이런식으로 촥 하고 붙여넣기가 됩니다.


명령어를 잘사용하시면 윈도우에서 쓰는것보다 더 빠르고 편하게 작업이 가능합니다

리눅스의 핵심은 vi에서 모든것이 나오게 됩니다.

물론 명령어 활용을 잘해서 2~3줄 적어야할 명령어를 단하나의 명령어로 처리할만한 실력을 키우는게 가장 좋습니다.

어디까지나 리눅스를 공부하는데 있어서 이것도해보고 저것도해보고 많이 배우셔야 좋습니다.


G나 gg 같은 명령어도 passwd 파일을 열어서 직접 테스트 해보시고 하시는게 좋습니다.

※먼저 cp명령어로 passwd 파일을 복사해와서 텍본으로 연습하세요 (함부로 변경시 오류가 날수있습니다)


각각 명령어들을 한번씩 써보고 vi 사용법을 익히시면 리눅스를 다배웠다고 해도 과언이 아닙니다

실제로 서버라고 하지만 그냥 패키지를 설치하고 vi로 설정파일을 열어서 설정해주는것이 전부기때문에

vi만 익혀도 서버를 열고 관리 할수 있습니다.


그외 궁금한점은

공지사항을 잘보시고 오픈채팅으로 물어봐주시면 감사하겠습니다

공지사항 바로가기


[뜬금없지만 유튜브 구독도 부탁드립니다 ㅠㅜ]

(Youtube) Secret Poten : http://goo.gl/ENeBOR

(Youtube) Secret Poten AE : http://goo.gl/qasbWH


Comments