제목

리눅스 마스터 2급 대비 정리(7) (에디터 - 에디터 종류, 활용)

   2023년08월19일     7분읽었습니다.

리눅스 마스터 2급 시험 대비를 위해 관련 책을 바탕으로 내용들을 정리하는 포스트입니다. 이번 포스트는 리눅스의 에디터를 이해하는 파트로 에디터의 종류와 활용에 대해 알아보겠습니다.


개요

이번 포스트는 에디터의 종류와 활용에 대해 알아보겠습니다.
참고한 책은 2023 이기적 리눅스 마스터 2급 기본서 - 권소라 저, 영진닷컴입니다. 실습한 리눅스 버전은 CentOS 7이고, ISO 명은 CentOS-7-x86_64-Minimal-2009.iso입니다.

목차

  1. 에디터 종류
  2. 에디터 활용

에디터 종류

개요

  1. 리눅스에서 지원하는 편집기로는 vi, emacs, pico, gedit, sedit 등이 있습니다.
  2. 리눅스 편집기는 편집기를 통해 파일을 수정합니다
    • 원래의 파일은 훼손되지 않게 남겨두고 해당 파일의 복사판을 만들어 임시 기억 장치에 둡니다
    • 임시 기억 장치는 편집기의 버퍼 역할을 합니다
    • 편집기를 통한 파일에 대한 변화 내용은 복사된 파일에 나타냅니다
  3. 버퍼 기반 편집기 방식의 장점은 사용자가 잘못 편집 시 해당 내용의 기록 없이 중지할 수 있어 원본 파일을 보존할 수 있다는 것입니다
  4. 버퍼 기반 편집기 방식의 단점은 외부적인 원인으로 갑자기 편집기가 종료되었을 경우 변화된 내용을 모두 일게 된다는 것입니다.

Pico

  1. 유닉스 기반의 텍스트 에디터입니다
  2. 메뉴 선택 방식의 텍스트 편집기로 기본 인터페이스가 윈도우의 메모장과 유사해 간단합니다
  3. 초기 리눅스 배포판 버전이 낮았을 때 사용했던 편집기입니다
  4. 자유 소프트웨어 라이선스가 아니기 때문에 소스 수정이 불가능합니다
  5. 다른 편집기에 비해 사용하기 쉽고 편리하지만 기능이 부족하고 업데이트가 잘 되지 않습니다
  6. GNU 프로젝트에서는 pico의 복제 버전 에디터인 nano를 개발하였습니다
  7. vi나 emacs와 달리 윈도우의 메모장처럼 쉽게 사용할 수 있습니다
  8. vi 편집기처럼 입력모드와 명령모드가 존재하지 않고 바로 텍스트 입력이 가능합니다

Emacs

  1. 메크로 기능이 있느 텍스트 교정 및 편집기로 개발됨
  2. 최초의 개발자는 리처드 스톨만이며, 이후 제임스 고슬링이 LISP 언어를 기반으로 emacs에 다양한 기능을 개발하여 추가하였습니다
  3. LISP에 기반을 둔 환경 설정 언어를 가지고 있으며 C, LISP, PORTRAN, HTML 등의 소스 코드를 작성할 경우 각각에 해당하는 모드를 설정할 수 있습니다.
  4. 단순 편집기를 넘어 텍스트 처리를 위한 포괄적인 통합 환경을 제공합니다
  5. LISP 코드를 불러오는 데 시간이 많이 걸린다는 단점이 있습니다
  6. 많은 개발 환경에 편리한 편집기 기능을 제공합니다
  7. 간단한 문서 편집부터 프로그래밍까지 다양하게 사용됩니다
  8. 비모드형 편집기로 여러 가지 명령을 수행하기 위해 cTRL 또는 aLT와 다른 키를 조합해 사용합니다

Vi

  1. 초기 BSD 린리즈에 포함될 편집기로 만들었습니다
  2. 리눅스 배포판과 유닉스에 기본적으로 포함되어 있습니다
  3. 유닉스 환경에서 가장 많이 쓰이는 문서 편집기입니다
  4. 다른 편집기들과 다르게 모드형 편집기입니다
  5. vi의 작업모드는 명령모드, 입력모드, 편집모드로 구성되어 있습니다
  6. 한 줄씩 편집하는 줄 단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터이며, 기종별 다양한 vi 클론들이 존재합니다

vim

  1. vi 편집기와 호환되면서 독자적으로 다양한 기능을 추가해 만든 편집기입니다
  2. 편집 시 다양한 색상을 이용해 가시성을 높일 수 있습니다
  3. 패턴 검색 시 하이라이트 기능을 제공해 빠른 검색을 가능하게 해줍니다
  4. ex모드에서 히스토리 기능을 제공합니다
  5. 확장된 정규 표현식 문법과 강력한 문법 강조 기능을 갖습니다
  6. 다중 되돌리기 기능 및 유니코드를 비롯한 다국어 지원, 문법 검사 기능도 지원합니다

gedit

  1. 그놈 데스크톱 환경용 텍스트 편집기
  2. Windows, MacOS X에서도 사용할 수 있습니다
  3. UTF-8과 호환되며 프로그램 코드, 마크업 언어와 같은 구조화된 텍스트 문서를 편집하는 용도에 중점을 두었습니다
  4. X-윈도우 시스템에 맞춰 개발되었습니다
  5. GTK+와 그놈 라이브러리를 이용해 개발되었고, 그놈 파일 관리자인 노틸러스와의 사이에서 드래그 앤 드롭이 가능합니다
  6. 텔넷 접속 시나 텍스트 기반 콘솔 창에서는 사용할 수 없습니다

에디터 활용

에디터 기초 사용법

  • pico 편집기 형식은 pico [옵션] [파일명]이고, -w는 긴 라인에서 라인이 깨지는 경우 사용합니다

pico 실행 후 주요 메뉴

메뉴기능
Ctrl+o파일 저장
Ctrl+x파일 종료, 종료 시 저장이 안되어 있으면 저장할 것인지 물어봄
Ctrl+r현재 커서 위치에 다른 파일을 불러옴
Ctrl+a현재 행의 맨 앞으로 이동
Ctrl+e현재 행의 맨 끝으로 이동
Ctrl+v이전 페이지로 이동
Ctrl+y다음 페이지로 이동
Ctrl+c현재 커서의 위치를 표시
Ctrl+t영문자의 철자 확인
Ctrl+w키를 누르고 문자열을 입력하면 원하는 문자열을 찾음
Ctrl+k현재 라인을 삭제
Ctrl+u마지막으로 삭제된 라인을 복구
Ctrl+i화면 갱신

emacs 편집기 형식 | 메뉴 | 기능 | | :—: | :—: | | Ctrl+x, Ctrl+s | 파일 저장 | | Ctrl+x, Ctrl+c | 종료 | | 마크 설정 후 Ctrl+w | 잘라내기, 마크 설정 방법은 설정을 시작하고 싶은 부분으로 커서를 이동시킨 후 Ctrl+Space Bar로 마크 설정 | | Ctrl+k | 커서 뒤에 있는 한 줄이 모두 지워짐, 지워진 문자는 클립보드에 저장 | | Ctrl+a | 커서를 줄의 맨 앞으로 이동 | | Ctrl+e | 커서를 줄의 맨 뒤로 이동 | | Ctrl+n | 커서를 한 줄 아래로 이동 | | Ctrl+s 찾을 문자열 | 커서의 아랫부분에서 찾을 문자열을 검색 | | Ctrl+r 찾을 문자열 | 커서의 뒷부분에서 찾을 문자열을 검색 | | Ctrl+g | 진행되고 있는 명령을 끔 |

vi 에디터 사용법

명령 모드에서 편집 모드로 전환 | 키 | 기능 | | :—: | :—: | | a | 커서 뒤부터 입력 | | A | 줄의 마지막에 입력 | | i | 현재 문자 앞에 입력 | | l | 줄의 시작 부분에 입력 | | o | 현재 줄 다음 줄에 입력 | | p | 커서가 있는 줄 위에 입력 |

EX 명령 모드에서 저장 및 종료, 환경 설정 | 키 | 기능 | | :—: | :—: | | :wq | 버퍼를 파일에 기록하고 종료 | | :q! | 버퍼의 내용을 파일에 기록하지 않고 무조건 종료 | | :q | 버퍼의 내용과 파일의 내용이 일치하는 경우 종료 | | :set nu | 줄 번호 표시 설정 | | :set nonu | 불 번호 표시 설정 해제 |

명령 모드에서 삭제, 복사, 붙여넣기 | 키 | 기능 | | :—: | :—: | | x | 커서가 위치한 곳의 한 문자 삭제 | | dd | 한 라인 삭제 | | dw | 커서 위치에서 오른쪽 한 단어 삭제 | | db | 커서 위치에서 왼쪽 한 단어 삭제 | | yy | 한 라인 복사 | | yw | 커서 위치에서 오른쪽 한 단어 복사 | | yb | 커서 위치에서 왼쪽 한 단어 복사 | | P | 커서 위치에서 윗줄에 붙여넣기 | | P | 커서 위치에서 아랫줄에 붙여넣기 |

참고 자료

  1. 2023 이기적 리눅스 마스터 2급 기본서 - 권소라 저, 영진닷컴