ioerror

vi 사용법 및 옵션 - 리눅스 및 유닉스 환경의 표준 텍스트 에디터 본문

OS

vi 사용법 및 옵션 - 리눅스 및 유닉스 환경의 표준 텍스트 에디터

반응형

 

vi 사용법 및 옵션 - 리눅스 및 유닉스 환경의 표준 텍스트 에디터

vi - Visual Display Editor

유닉스 및 리눅스 시스템에서 가장 기본적이고 널리 사용되는 화면 기반의 텍스트 에디터이다. 별도의 GUI 환경 없이도 터미널 상에서 빠르고 효율적으로 파일을 편집할 수 있으며, 서버 환경이나 복구 모드 등 거의 모든 유닉스 계열 OS에 기본 탑재되어 있다. 입력 모드(Insert Mode), 명령 모드(Command Mode), 라인 모드(Ex Mode) 등 모드 기반으로 동작하므로 초기 진입 장벽이 존재하지만, 익숙해지면 키보드만으로 강력한 편집 기능을 제공하다.

1. vi 용도

  • 서버 설정 파일(/etc/*) 및 시스템 구성 파일 수정하다
  • 셸 스크립트, 소스 코드, 일반 텍스트 문서 작성 및 편집하다
  • 네트워크 장애 상황이나 최소 설치 환경에서 긴급 파일 편집하다

2. vi 서식

Bash
 
vi [옵션] [파일명]

3. vi 옵션

옵션 설명 사용가능 OS 및 쉘
-R 읽기 전용(Read-only) 모드로 파일을 염 Linux, Unix
-r 비정상 종료된 이전 작업 파일을 복구(Recover)함 Linux, Unix
+숫자 지정한 줄(Line) 번호 위치로 즉시 이동하여 파일을 염 Linux, Unix
+/문자열 지정한 문자열이 처음 나타나는 위치로 이동하여 파일을 염 Linux, Unix
-x 파일 편집 시 암호화를 설정함 Linux, Unix
-c 커맨드 파일을 연 후 지정한 vi 명령어를 실행함 Linux, Unix
Bash
 
# 1. 특정 줄 번호로 즉시 이동하며 파일 열기
vi +42 /etc/nginx/nginx.conf
# nginx.conf 파일이 열리며 커서가 42번째 줄에 위치함

# 2. 특정 검색어 위치로 이동하며 파일 열기
vi +/Listen /etc/httpd/conf/httpd.conf
# httpd.conf 파일 내 'Listen' 단어가 있는 첫 위치로 이동함

# 3. 비정상 종료 후 파일 복구 진행
vi -r /var/log/syslog
# 이전에 강제 종료된 작업 내역을 스왑(.swp) 파일로부터 복구함

# 4. 읽기 전용 모드로 안전하게 파일 조회
vi -R /etc/passwd
# 파일 수정이 방지된 상태로 읽기 전용으로 열림
  • +숫자: 지정된 라인 번호로 커서를 바로 배치하여 대용량 설정 파일 수정 시 탐색 시간을 단축하다
  • +/문자열: 파일 열기와 동시에 필요한 키워드를 검색한 상태로 접속하다
  • -r: 시스템 다운이나 터미널 종료로 남은 .swp 파일 기반으로 작업을 안전하게 원복하다
  • -R: 실수로 중요한 시스템 파일을 수정하는 위험을 방지하다

4. vi 특이사항(유의사항)

  • vi는 모드형 에디터이므로 파일 연 직후 명령 모드 상태이다. 글자를 입력하려면 i, a, o 등의 키를 눌러 입력 모드로 전환해야 하다.
  • 입력 모드에서 벗어나거나 명령을 취소하려면 항상 Esc 키를 눌러 명령 모드로 돌아와야 하다.
  • 편집 중 예기치 않게 종료되면 .파일명.swp 파일이 생성된다. 정상 저장 후 종료하지 않으면 다시 진입할 때 경고 메시지가 출력되므로, 복구 후 해당 .swp 파일을 수동으로 삭제해야 경고가 사라진다.
  • 현대 리눅스 시스템에서 vi 명령은 대부분 확장 버전인 vim(Vi IMproved)의 심볼릭 링크로 동작하다.
  • 강제 종료 시 :q!를 사용하고, 저장 후 종료 시에는 :wq 또는 ZZ를 사용하다.

관련 명령어들

  • vim: vi의 기능을 대폭 확장한 에디터로 구문 강조, 실행 취소 확장 등을 제공함
  • nano: 사용법이 직관적이고 쉬운 터미널 기반의 텍스트 에디터
  • view: vi를 읽기 전용 모드(vi -R)로 즉시 실행하는 명령어
  • sed: 파일 내용을 열지 않고 스트림 형태로 편집하는 비대화형 에디터
  • cat: 파일의 전체 내용을 터미널에 출력함

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

반응형
Comments