● 문서 편집기
- console(CUI) : vi , emacs 등
x-wondow(GUI) : gedit, kedit 등
- [@~]vi vi문서편집기 실행
- emacs 실행
- vi 문서편집기
1. vi 편집기 실행
]# vi 파일명
=> vi 편집기로 화면이 전환되며 맨 마지막행은 상태를 표시하는 영역
2. vi 편집기의 3가지 상태
1) 직접명령모드 => 키보드를 눌러 명령을 실행하는 상태(기본)
- 상태영역에 아무런 메세지가 없는 경우
2) 간접명령모드 => 상태영역에 명령을 입력하여 실행하는 경우
- 상태영역에 :이 표시되며 키보드를 누르면 상태영역에 메세지가 입력되는 경우
3) 편집모드 => 키보드를 눌러 문서(파일)를 편집하는 경우
- 상태영역에 "--INSERT--" 또는 "--REPLACE--" 라는 메세지가 있는 경우
3. 3가지 상태에 대한 변경 방법
i :
←------- --------→
편집모드 직접명령모드 간접명령모드
--------→ ←--------
[esc] 실행 - 명령입력 후 [Enter]
취소 - [esc]
4. 직접 및 간접명령모드에서 사용할 수 있는 vi 편집기 명령
1) 편집모드 전환명령
- i 또는 [Insert]를 누르면 편집모드("--INSERT--"모드)로 전환
- [Insert]를 누르면 "--INSERT--" 또는 "--REPLACE--"모드로 전환
- R : "--REPLACE--" 모드로 전환
2) 커서 이동명령
:숫자 => 숫자 해당하는 행으로 이동
※ 행번호(Line Number) 표시 => :set nu
행번호(Line Number) 삭제 => :set nonu
3) 삭제 명령
dd - 커서가 있는 행을 삭제
※ 숫자dd - 숫자만큼 dd 명령이 실행
4) 복사 및 붙여넣기
yy - 커서가 있는 행을 복사
※ 숫자yy - 숫자만큼 yy 명령이 실행
p 또는 P - 붙여넣기
※ p - 커서가 존재하는 행의 아래로 붙여넣기
P - 커서가 존재하는 행의 위로 붙여넣기
5) 다른 파일의 내용 붙여넣기
:r 파일명 - 현재 커서가 존재하는 행의 아래로 다른 파일의 내용 붙여넣기
6) 범위지정 => RHEL5에서는 적용되지 않는다.
v를 누르면 "--VISUAL--" 상태로 전환 => 방향키를 눌러 범위를 지정
=> 범위 지정 후 y(복사), x(잘라내기), d(삭제) 실행
※ 마우스로 범위지정 후 마우스 3버튼(2개를 동시에 누름)을 누르면 키보드 커서가 있는 곳에 붙여넣기가 된다.
=> 편집모드 상태에서 실행
7) 실행 취소
u - Undo
8) 단어 검색
:/단어 - 커서가 있는 아래로 단어 검색(대소문자 구분)
n - 다음 찾기 => 문서 마지막까지 검색이 끝나면 다시 처음부터 검색
9) 단어 변경
:범위s/바꿀문자/치환문자/gc
※ 범위 - 변경하고자 하는 행을 표현 형식) 시작행,마지막행
ex) :5,10s/MBC/SBS/gc
:%s/MBC/SBS/gc => 문서 전체 변경
※ 변경 옵션
g - 행 전체 적용 => 행에 변경하고하는 문자가 여러 개 있는 경우 모두 적용
c - 변경 유무 선택
10) 저장 및 종료
:w - 저장
:w 파일명 - 다른 이름으로 저장
:w! - 강제 저장(읽기전용 파일인 경우) => 관리자 또는 파일 소유자 계정만 가능
:q - 종료
:q! - 강제 종료(변경된 내용을 저장하지 않고 종료)
:wq - 저장하고 종료
:wq! - 강제 저장하고 종료(읽기 전용 파일인 경우)
※ 파일 불러오기
:e 파일명 - 파일 불러오기
:e! 파일명 - 강제 파일 불러오기(기존 파일을 저장하지 않고 다른 파일을 불러올 경우 사용)
4. vi 실행 시 비정상 종료에 의한 파일 손상 복구 방법
=> 비정상 종료인 경우 Swap 파일을 생성하여 손상을 최소화 한다.
]# vi aaa.txt
sdgsg
sdgsdgs
sdgsd => 정상적인 방법으로 저장 및 종료
]# vi aaa.txt => 정상적인 파일인 경우 파일의 내용이 출력
sdgsg
sdgsdgs
sdgsd
fghfgh => 추가되는 부분
fghfgh
^z => 비정상 종료 : 강제 중지(파일의 손상 발생) - swap 파일 발생(.aaa.txt.swp)
]# vi aaa.txt => 손상 파일인 경우 swp 파일의 내용이 출력
sdgsg
sdgsdgs
sdgsd
fghfgh => 복구 가능한 데이타만 출력
fghfgh => 정상 종료
]# vi -r aaa.txt => Swap 파일을 이용하여 원본파일로 복구
sdgsg
sdgsdgs
sdgsd
fghfgh
fghfgh => 정상 저장 및 종료
]# rm -rf .aaa.txt.swp => Swap 파일 삭제
'Dev > Dev:: Linux' 카테고리의 다른 글
[Day004] Linux - 원격 로그인, 계정, 권한 (0) | 2013.09.09 |
---|---|
[Day003] Linux 3일차 계정 및 그룹 (0) | 2013.09.05 |
[Day002] Linux 2일차 (0) | 2013.09.04 |
[Day001] Linux 1일차 - 기본명령어 실습하기 (0) | 2013.09.04 |
[Day001] Linux 1일차 - Red Hat Enterprise Linux 설정하기 (0) | 2013.09.03 |