vi 에디터 자주쓰는 명령어 


학교 다닐때는 리눅스를 쓸일이 없었는데... 회사를 다니면서 쑬 일이 부쩍 많아졌다. 


정리중.... 


vi의 종료

먼저 <ESC>키로 명령모드로 전환 한후 종료 명령

<ZZ> 버퍼를 파일에 기록하고 종료

:wq 버퍼를 파일에 기록하고 종료

:q! 버퍼의 내용을 파일에 기록하지 않고 무조건 종료

:q 버퍼의 내용과 파일의 내용이 일치하는 경우 종료

 

텍스트 편집 명령

a 커서 뒤에 삽입

A 줄의 마지막에 삽입

i 커서 앞에 삽입

I 줄의 시작에 삽입

o 현재 커서의 다음에 빈 라인을 생성

O 현재 커서의 앞에 빈 라인을 생성

 

파일에 관한 명령

:r [파일명] 파일의 내용을 읽어와서 현재의 커서 아래에 삽입

:e! [파일명] 편집중인 파일을 무시하고 새로운 파일을 작성, 편집

:e [파일명] 새로운 파일을 작성, 편집

:n 파일 목록의 다음 파일로 이동

:w 현재 편집중인 파일을 저장

:w [파일명] 현재 편집중인 파일을 새로운 파일명으로 저장

w! [파일명] 현재 편집중인 파일을 현존하는 파일명으로 저장


커서의 이동 명령

1. 문자 단위 이동

h 한 문자 왼쪽으로

j 한 문자 아래로

k 한 문자 위로

l 한문자 오른쪽으로

→←↑↓ 화살표 발향으로 이동

[BackSpace] 한 문자 왼쪽으로

[Enter] 다음 라인의 시작으로


2. 라인에서의 이동

^ 또는 0 라인의 시작위치로

$ 라인의 끝 위치로

 

3. 페이지 단위 이동

[Ctrl]-f 한 페이지 위로

[Ctrl]-b 한 페이지 아래로

[Ctrl]-u 반 페이지 위로

[Ctrl]-d 반 페이지 아래로


4. 단어 단위 이동

w 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식

W 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치

b 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식

B 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치

e 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치,구두점을 한 단어로 인식

E 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치


5. 파일에서의 이동

G 파일의 끝으로 이동

nG 또는 :n n번째 라인으로 이동


6. 화면에서의 이동

H 화면의 첫줄로 이동

L 화면의 끝으로 이동

M 화면의 중간으로 이동

 

삭제 명령

1) 문자 단위 삭제

x 커서가 위치한 곳의 한 문자 삭제

nx n 개의 문자 삭제

X 커서가 위치한 곳 앞의 한 문자 삭제

nX n 개의 문자 삭제

2) 라인 단위 삭제

dd 한 라인 삭제

ndd n개의 라인 삭제

d0 또는 d^ 커서 위치부터 라인의 처음 까지 삭제

d$, D 커서 위치부터 라인의 끝 까지 삭제

3) 단어 단위 삭제

dw 커서 위치에서 오른쪽 한 단어 삭제

db 커서 위치에서 왼쪽 한 단어 삭제

4) d+이동명령

dh,dj,dk,dl,d0,d$

 

5) 파일에서의 삭제

dG 커서 위치부터 파일의 끝 까지 삭제

dnG 커서 위치부터 n번째 라인까지 삭제

   

복사 명령

1) 라인 단위 복사

yy 한 라인 복사

nyy n개의 라인 복사

y0 또는 y^ 커서 위치부터 라인의 처음 까지 복사

y$, Y 커서 위치부터 라인의 끝 까지 복사

2) 단어 단위 복사

yw 커서 위치에서 오른쪽 한 단어 복사

yb 커서 위치에서 왼쪽 한 단어 복사

3) 붙여 넣기

p 커서 위치에서 오른쪽에 붙여 넣기

P 커서 위치위 윗 줄에 붙여 넣기

 

수정 명령

(1) 문자 단위 수정

r 한 문자 수정후 명령 모드

nr n개의 문자를 수정후 명령 모드

R 한 문자 수정후 편집 모드

nR n개의 문자를 수정후 편집 모드

(2) 한 문자를 여러 문자로 수정

s 커서 위치에서 한문자 삭제 후 편집 모드

(3) 여러 문자를 수정

명령 수행 후 [ESC] 키로 마감

cw 현재 커서위치에서 오른쪽 단어 수정

cb 현재 커서위치에서 왼쪽 단어 수정

c0 또는 c^ 커서가 위치한 라인의 시작에서 커서 위치까지 수정

c$또는 C 커서의 위치에서 라인의 끝까지 수정

cc 한 줄을 모두 수정


라인의 결합

J 커서의 다음 줄을 커서가 있는 줄에 결합

 

명령 실행 취소 명령

u 직전의 한 명령 실행 취소(undo), 일부 시스템에서는 여러 명령 취소 가능

U 현재 라인에서의 명령들의 실행 취소

[Ctrl]-r 취소명령의 취소(redo), 일부 시스템에서만 지원


검색

/[패턴] 앞으로 이동하면서 [패턴]을 검색

?[패턴] 뒤로 이동하면서 [패턴]을 검색

n 반복 해서 이전에 지정된 [패턴]을 검색(next search)

 

기타 명령

:!command - 쉘로 나가지 않고 쉘명령을 수행

:sh - 쉘로 잠시 나감, 복귀하려면 exit

. - 직전 명령어 재수행

[CTRL]-g : 전체 줄수와 현재 커서가 위치한 줄 번호

~ - 대소문자 변경

vi 편집기의 환경 설정

:set nu - 라인번호 표시 설정

:set nonu - 라인번호 표시 설정 해제




반응형

리눅스 기본 명령어

명령어 도움말 보기

#리눅스에서 사용되는 도움말 명령어는 두가지가 있다
#1
명령어 --help
※ --help 를 붙인다고 해서 모든 명령어의 도움말이 나오지는 않고 간단한 명령어는 내용이 없을 수 있다
cp --help

#2
man 명령어
위로 이동 : page down 또느 스페이스바
아래로 이동 : page up 또는 b
종료 : q

man cp

디렉토리를 변경

cd webapps       : 하위 폴더인 webapps로 이동
cd .. : 상위 폴더로 이동
cd || cd ~ : root 폴더로 이동
cd /tomcat7/logs : 현재 작업중인 폴더가 아닌 다른 폴더로 이동, /로 시작해서 경로를 입력

#절대 경로
절대경로는 경로에 절대 값을 의미 합니다.
시작위치와 상관 없이 경로에 모든 디렉토리를 적어주면 됩니다.
절대경로에 시작은 / 에서 부터 시작을 합니다.

#상대 경로
상대 경로는 현재 작업중인 폴더를 기준으로 주는 경로 값입니다.

#설정되어 있는 경로
. : 현재 작업중인 폴더를 의미 합니다.
.. : 현재 작업중인 폴더의 바로위의 상위 폴더를 의미 합니다.
~ : 홈 디렉토리의 경로를 의미 합니다.
- : 이전 폴더를 의미 합니다.

현재 디렉토리 확인

pwd : 현재 작업중인 폴더의 위치 확인

디렉토리 목록/정보 출력

ls : 디렉토리 목록 출력
ll : 디렉토리 목록 / 정보 출력

옵션
-a : 숨겨진파일을 포함해서 모든 내용을 출력 합니다.
-l : 자세한 내용을 표시 합니다.
-r : 내림차순 정렬 (기본은 오름차순 정렬)
-m : 가로로 출력
-f : 디스크에 저장된 순서대로 출력
-c : 최근 변경된 파일 부터 정렬해서 출력
-R : 하위 디렉토리 출력

#기본 사용
ls -al : 모든 파일을 자세히 보기

#grep 과 같이 쓰면 필요한 파일만 볼수 있음
ls -al | grep tomcat

폴더 생성 / 삭제

# 생성
mkdir 옵션 디렉토리명

옵션
-p : 생성하려는 디렉토리에 상위 디렉토리가 필요할경우 같이 만듭니다.
-m : 생성하는 디렉토리의 권한을 설정합니다. 설정시 umask 를 사용해서 설정 됩니다.

mkdir upload

#삭제
rmdir 옵션 디렉토리명

옵션
-f : 삭제 확인없이 바로 삭제
-r : 포함된 하위 디렉토리도 모두삭제

rmdir upload


반응형

+ Recent posts