<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 |