개발/UNIX 계열

AIX 기본 명령어 - vi 명령어 포함

좋은느낌/원철 2008. 6. 24. 15:21

AIX는 콘쉘, 솔라리스 C


/usr 디렉터리 : 유닉스에서 수행 가능한 시스템 명령이나 기타 서비스 프로글매이 설치되어 있는 디렉터(C:Windows)

/opt 디렉터리 : 유닉스 완전 설치 후 패키지 형태로 설치되는 프로그램들은 이 디렉터리에 설치(C:\program Files)

/etc 디렉터리 : 시스템에 관련된 다양한 설정 데이터가 주로 아스키 파일로 저장되어 있는 디렉터리(제어판)

/dev 디렉터리 : 시스템을 구성하는 모든 하드웨어 장비를 관리하기 위한 디바이스 드라이브 파일이 설치되는 디렉터리

/export/home 디렉터리 : 홈 디렉토리가 설치되는 디렉터리(C:\Documents and Settings)

 

비밀번호 변경

Passwd

 

로그아웃

Ct기+d, exit, logout

 

vi명령어

 

입력모드 전환 명령

i : 커서 앞에 글자 입력

I : 현재 커서가 위치한 라인의 맨 앞의 문자에 커서가 위치시키고 입력모드

a : 커서 뒤에 글자 입력

A : 현재 커서가 위치한 라인의 맨 끝에 입력모드

o : 커서 아래에 라인 삽입 후 입력모드

O : 커서 위에 라인 삽입 후 입력모드

 

커서이동 명령

h : 왼쪽으로 커서 이동

l : 오른쪽으로 커서 이동

h : 위로 커서 이동

j : 아래로 커서 이동

 

화면이동 명령

Ctrl+f : 다음 화면으로 이동

Ctrl+b : 이전 화면으로 이동

 

글자 및 라인 삭제 명령

x : 커서가 위치한 글자 삭제 후 이어지는 문자열을 앞으로 당김

X: 커서가 앞의 글자 삭제 후 이어지는 문자열을 앞으로 당김

dd : 커서가 위치한 라인을 삭제

 

복사/붙이기 명령

Y : 현재 라인을 메모리에 복사함

P :  메모리에 복사되어 있던 내용을 커서 바로 위에 삽입

 

라인 병합 명령

J : 커서가  위치한 현재 라인과 다음 라인을 하나로 병합

 

문자열검색 명령

/명령어 : 문자열을 검색하여 커서 이동

n : 다음 문자열을 검색하여 커서 이동

N : 이전 문자열을 검색하여 커서 이동

 

문자열대치 명령

:%s/검색문자열/대치문자열/g : 현재 파일 내에 존재하는 모든 검색문자열 대치문자열 바꿈

 

직접 라인 이동 명령

:숫자 : 주어진 라인으로 바로 이동

 

Vi 편집의 파일명은 14자 이내의 문자나 숫자의 조합, 특수문자와 ($, %, +, =, -) 불가능

 

복수개의 파일을 동시에 불리오기

$ vi echo.c echo2.c echo3.c

 

파일을 vi로 열 때 유용한 옵션들

-c : 지정한 명령어(검색, 배치등)를 실행한 후 vi편집상태로 돌안온다.

$ vi –c/key/ merge.c

 

-L : 시스템이나 에디터가 비정상적으로 종료했을 때 저장된 파일을 출력한다.

$ vi –L

 

-r file : 시스템 장애로 인해 손실된 파일을 복구한다.

$ vi –r echo.c

 

-R : 파일을 읽기 전용모드로 개방하는 명령어이다.(= view명령어)

$ vi –R echo.c

 

-w[n] : 화면으로 보이는 라인 수를 정의하는 옵션, 유닉스 보통화면에 23라인 정도 디스플레이

$ vi –w10 echo.c

 

vi종료

esc키를 누른후

ZZ : 화면에서 편집한 파일 내용을 디스크에 저장한 후 vi상태를 빠져나오기

:wq : 저장후 빠져나오기

:wq! : 저장후 빠져나오기(만약 읽기 전용 모드일 때 강제로 저장후 빠져나오기)

:w : vi종료하지 않고 현재 내용을 파일에 저장

:q : 저장않고 빠져나오기

:q! : 저장않고 강제로 빠져나오기

:w filename, :wq filename과 같이 저장할 파일 이름을 함께 입력하면 주어진 파일로 저장 후 종료

:e filename : vi를 종료하지 않고 새로운 파일을 편집하기 위한 명령

:e! filename

:e + echo.c : e명령 사용시 지정한 파일의 끝에서부터 편집을 원할경우

:f 파일명 : 현재 편집하고 있는 파일을 다은 이름으로 바꾸고자 할 때 사용하는 명령어

:sh : vi명령은 vi로 파일을 편집하는 도중 다른 작업을 수행하기 위하여 UNIX 쉘을 수행하기 위한 명령어

    (vi에서 이전에 편집하던 내용으로 되돌아가려면 exit, ctrl+d)

Ctrl+g : 현재 편집 중인 파일에 대한 간단한 정보를 디스플레이

 

 

화면단위조정

Ctrl+f : 한 화면씩 파일의 앞으로 이동한다.

Ctrl+b : 한 화면씩 파일의 뒤로 이동한다.

Ctrl+d : 반 화면씩 파일의 앞으로 이동한다.

Ctrl+u : 반 화면씩 파일의 뒤로 이동한다.

Ctrl+e : 한 라인씩 파일의 앞으로 이동한다.

Ctrl+y : 한 라인씩 파일의 뒤로 이동한다.

 

 

커서 이동

한문자, 위아래별 이동 : 방향키

h : 한문자 왼쪽

j,엔터키,+ : 한 라인 아래쪽

k,- : 한 라인 위쪽

i : 한문자 오른쪽

 

현재 화면에서의 커서 이동

H : 현재 화면의 첫 라인 첫 칸으로 이동

M : 현재 화면의 중간 라인 첫 칸으로 이동

L : 현재 화면의 마지막 라인 첫 칸으로 이동

 

단어별 커서 이동

w : (word) 현재 커서 위치에서 오른쪽으로 한 단어씩 이동

b : (back) 현재 커서 위치에서 왼쪽으로 한 단어씩 이동

e : (end) 현재 커서 위치한 단어에서 그 단어의 끝 문자를 찾아서 커서를 이동

 

현재 커서가 속한 라인 내에서 커서 이동

숫자 0 : vi편집모드에서 숫자 0을 입력하면 현재 라인에서 첫 칸으로 이동

^ : vi편집모드에서 ^를 입력하면 현재 라인의 첫 번째 단어의 첫번째 글자 커서를 이동한다

$ : vi편집모드에서 $는 현재 커서가 위치한 라인의 마지막 문자로 커서를 이동

 

 

사용자가 지정한 라인으로 커서 이동

: 라인번호 또는 라인번호G : 원하는 라인으로 바로 이동함.

G : 편집 중인 파일의 끝으로 바로 이동하기 위한 명령어

 

파일에 라인 번호 매기기

: set number 또는 :se nu(해제는 :set nonumber 또는 :se nonu)

 

/문자열 또는 /문자열/ : 현재 커서가 위치한 곳으로부터 순방향(아래쪽)으로 지정한 문자열을 검색하여 첫 문자열에

                                    커서가 위치(n:계속 찾을려면, N: 역방향으로 찾을 때)

 

?문자열 또는 ?문자열? : /문자열 명령의 반대 (n:역방향으로 찾을 때, N: 순방향으로 검색하려면)

 

문자 삭제 명령

X : 커서가 위치해 있는 곳에 있는 하나의 문자를 삭제하고 삭제된 문자오른편의 위치하던 문자로 커서 이동

dw : (delete word) 커서가 위치하는 문자를 포함한 나머지 단어 삭제하고 그 다음 단어를 삭제되지 않은

        현재 단어와 병  합하여 하나의 단어

db : 현재 커서 위치에서 왼쪽에 존재하는 첫번째 단어의 시작 문자부터 커서 왼쪽 문자까지 삭제하는 명령,

         커서의 위치는 그대로

 

라인 삭제 명령

dd : 커서가 위치하고 있는 라인을 삭제하고 그 다음 라인의 첫 번째 칸에 커서를 위치하낟.

D : 현재 커서가 위치하고 있는 라인에서 커서 이후에 존재하는 나머지 문자를 모두 삭제

dG : 현재 커서가 위치한 라인에서부터 파일의 나머지를 모두 삭제

d1G : 파일의 처음부터 현재 커서가 위치한 라인까지 모든 내용을 삭제하는 명령어

:n,md : n번째 라인에서부터 m번째 라인까지 내용을 모두 삭제하는 역할

 

텍스트 덮어쓰기

r : 커서가 위치한 곳의 한 문자를 다른 한 문자로 바꾸는 명령

R : 현재 커서위치에서부터 ESC키를 입력할 때까지 계속해서 문자를 덮어쓰는 명령

s : 현재 커서위치에 있는 문자를 $문자로 변경하고 $문자로 표시된 부분에 입력하는 문자들을 삽입하는 명령어,

     ESC키 입력할때까지 문자 삽입

 

단어 바꾸기

cw : (change word) 현재 커서가 있는 위치로부터 그 단어의 마지막까지를 수정하는 명령어

 

라인 바꾸기

cc : 현재 커서가 위치한 라인의 내용을 모두 바꾸기 위한 명령어, ESC키를 누르면 종료

C 또는 c$ : 현재 커서 위치에서 왼쪽 내용은 변화시키지 않고 오른쪽  내용을 모두 바꾸는 명령어, ESC키를 누르면 종료

 

소문자를 대문자로, 대문자를 소문자로 바꾸기

~ : 바꾸고자 하는 커서를 먼저 이동시킨후 사용하면 자동으로 소문자->대문자, 대문자->소문자

 

원하는 문자열을 찾은 후 바꾸기

:%s/검색문자열/대체문자열/g 또는 :g/검색문자열/s//대체문자열/g : 문서 전체에 걸쳐서 무조건 교체

:%s/검색문자열/대체문자열/gc 또는 :g/검색문자열/s//대체문자열/gc : 문서 전체에 걸쳐 교체, 변경할건지 확인 요청함.(종료는 ctrl+c)

 

명령 취소하기

u : 삽입, 치환, 변경, 삭제 등 편집버퍼를 변경했던 마지막 명령을 그 이전 상태 되돌림

U : 현재 라인으로 옮겨 온 이후로 현재의 라인에 가한 모든 변경사항을 취소한다.

 

명령어 반복하기

.(점) : 바로 이전에 수행되었던 명령을 한 번 더 반복한다.

 

복사하기 붙이기

yw : 현재 커서가 위치한 단어를 버퍼에 복사하는 명령어

yy 또는 Y : 현재 커서가 위치한 라인을 버퍼에 복사하는 명령어

ny : 현재 커서가 위치한 라인에서부터 사용자가 지정하는 n개의 라인을 버퍼에 복사하는 명령어

 

붙이기

p(소문자) : 커서가 위치한 오른쪽 또는 라인의 아래 라인에 버퍼에 복사되어 있던 문자열을 붙이기

P(대문자) : 커서가 위치한 왼쪽 또는 위 라인에 버퍼에 복사되어 있던 문자열을 붙이기

 

라인 병합과 라인 분리

J : 현재 커서가 위치한 라인과 그 아래쪽 라인을 현재 커서가 위치한 라인에 단일 라인으로 연결

라인분리 : i명령과 엔터키를 활용, 편집모드로 전환하기 위해서 ESC

 

여러 라인의 복사와 이동

:시작라인번호[,끝라인번호]co복사할라인번호 : ) 1~3라인까지 복사하여 7번 라인 다음에 넣기 :1,3co7

:시작라인번호[,끝라인번호]m이동할라인번호 : ) 1~3라인까지 이동하여 7번 라인 다음에 넣기 :1,3m7

 

파일 편집을 위한 기타 기능

:r파일명 : 현재 커서 위치 다음라인에 지정하는 파일을 읽어서 삽입할 때 유용한 명령어

:! : vi상태를 종료하지 않고 UNIX명령 실행( :!date), vi상태로 복귀하기 위해 엔터키 입력