[1과목: 리눅스 운영 및 관리]
1. 파일 시스템 관련 명령어
2. 쉘(Shell)
3. 프로세스 관리
4. 에디터(Editor)
4. 1. 에디터 종류
- 원본 파일의 복사본을 임시 기억 장치에 만들어, 수정 후 원본에 저장하는 버퍼 기반 방식
- 장점: 내용의 수정 사항을 중지/종료하여 원본 파일 보존 가능
- 단점: 편집기의 비정상적인 종료 시 수정 내용 소실
- Linux의 편집기 종류: vi, emacs, pico, vim, nano, gedit 등
4. 2. 에디터 활용
4. 2. 1. vi편집기 ★
- 1796년 빌 조이가 초기 BSD릴리즈에 포함될 편집기로 만듦 ★★★
- UNIX의 기본으로 포함되어, Linux배포판에서 가장 많이 사용
- 모드형 편집기로 명령, 입력, 콜론(실행)모드로 구성

명령모드(Command Mode)
: vi편집기를 처음 실행하거나 입력모드, 콜론모드에서 [ESC]를 누를 경우 진입
[입력]
명령어 | 설명 |
---|---|
i | 커서 앞부터 입력(입력모드로 진입) |
a | 커서 뒤부터 입력(입력모드로 진입) |
o | 커서 아랫줄에 빈줄 삽입 후 입력(입력모드로 진입) |
O | 커서 윗줄에 빈줄 삽입 후 입력(입력모드로 진입) |
[커서이동]
명령어 | 설명 |
---|---|
k / j / l / h | 커서 위 / 아래 / 오른쪽 / 왼쪽 이동 |
$ | 현재 행 끝으로 이동 |
[잘라내기 및 붙여넣기 / 되돌리기]
명령어 | 설명 |
---|---|
x | 커서 위치의 글자 1개 삭제 *ex) 3x: 문자 3개 삭제 |
yy / dd | 현재 줄 복사 / 잘라내기 *ex) 3yy: 3줄 복사 |
yw / dw | 커서 위치부터 오른쪽으로 한 문장 복사 / 잘라내기 (공백 까지) |
yb / db | 커서 앞부터 왼쪽으로 한 문장 복사 / 잘라내기 (공백 전까지) |
p | 붙여넣기 |
u | 되돌리기(undo) |
입력모드(Insert Mode)
: 문자를 입력(타이핑)하여 파일 내용을 수정하는 모드
- 명령 모드에서 [i], [a], [o], [O]입력 시 입력모드로 진입
- 파일 수정 후 [ESC]입력 시 명령모드로 진입
콜론모드(Colon Mode) ★★★
: 파일 저장, 종료, 파일명 변경 등의 기능 수행. 실행(ex)모드라고 도 함
- 명령모드에서 [:]입력 시 콜론모드로 진입.
- [ESC]입력 시 명령모드로 진입
[파일 저장 / 종료] ★
명령어 | 설명 |
---|---|
:$ | 문서의 끝으로 커서 이동 |
:w | 현재까지 수정한 내용 저장 |
:w [파일명] | 지정한 파일명으로 저장. |
:f [파일명] | 현재 작업 중인 파일명 수정. 수정 시 원본 파일은 그대로 유지 |
:q | vi편집기 종료. 수정 내용이 있을 경우 종료 불가 |
:q! | vi편집기 강제 종료.(강제 명령수행) |
:e! | 마지막 저장 이후 모든 편집 취소(강제 명령수행) |
!(강제명령수행) : 파일에 수정된 내용이 있을 때 :q 또는 :wq를 입력할 경우 정말 수행할 것인지에 대한 메세지가 뜨며, 수행한다는 명령어를 한번 더 입력 필요. (혹은 :q수행이 되지 않는 경우도 있음) 이 때 :q! 또는 :wq!를 입력할 경우 추가적인 메세지 없이 :q!(강제 종료) 또는 :wq!(강제 저장 후 종료)
[행 번호] ★
명령어 | 설명 |
---|---|
:set nu | 행 번호 표시 |
:set nonu | 행 번호 가리기 |
[탐색] ★
명령어 | 설명 |
---|---|
:/[문자열] | 문자열을 아래 방향으로 탐색 탐색 중 [n]: 계속 탐색 / [N]: 역방향 탐색 |
:?[문자열] | 문자열을 위 방향으로 탐색 탐색 중 [n]: 계속 탐색 / [N]: 역방향 탐색 |
:/^[문자열] | 해당 문자열으로 시작하는 행 탐색 *^: 행의 시작 |
[탐색 및 변경] ★★★★★
명령어 | 설명 |
---|---|
:s/[기존문자열]/[변경문자열] | 커서가 위치한 행에서 문자열 변경 |
:%s/[기존문자열]/[변경문자열] | 문서 전체에서 문자열 변경 |
:[시작행],[마지막행]s/[기존문자열]/[변경문자열] | 행위 범위를 지정하여 문자열 변경 |
:s/linux/Linux # 현재 행에서 'linux'를 찾아 'Linux'로 변경 :%s/liunx/Linux # 문서 전체에서 'linux'를 찾아 'Linux'로 변경 :1,5s/unix/UNIX # 1행부터 5행까지 'unix'를 찾아 'UNIX'로 변경 :3,$s/unix/UNIX # 3행부터 문서 끝($)까지 'unix'를 찾아 'UNIX'로 변경 :.,10s/unix/UNIX # 현재 행(.)부터 10행까지 'unix'를 찾아 'UNIX'로 변경
4. 2. 2. emacs편집기 ★
- 1984년 리차드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발 ★★★
- LISP언어에 기반을 둔 환경 설정 언어
- C, LISP, Fortran, HTML등의 소스 코드를 작성할 경우 각각에 해당하는 모드 설정 가능
- 단순 편집기를 넘어, 텍스트 처리를 위한 포괄적인 통합 환경 제공
- LISP 코드를 불러오는 데는 시간이 많이 걸린다는 단점
- 비모드형 편집기로, 여러 명령은 [Ctrl], [Alt]와 키를 조합하여 사용
키 조합 | 설명 |
---|---|
[Ctrl] + [x] -> [Ctrl] + [s] | 파일 저장 |
[Ctrl] + [x] -> [Ctrl] + [c] | 종료 |
[Ctrl] + [b] | 뒤(왼쪽)로 이동 |
[Ctrl] + [f] | 앞(오른쪽)으로 이동 |
[Ctrl] + [p] | 위 행으로 이동 |
[Ctrl] + [n] | 아래 행으로 이동 |
[Ctrl] + [a] | 행의 시작으로 이동 |
[Ctrl] + [e] | 행의 끝으로 이동 |
[Ctrl] + [s] + [탐색문자열] | 커서 아래로 문자열 탐색 |
[Ctrl] + [r] + [탐색문자열] | 커서 위로 문자열 탐색 |
4. 2. 3. pico편집기
- 1989년 워싱턴 대학의 아보일 카사르가 개발한 UNIX기반 텍스트 에디터
- 메뉴 선택 방식의 텍스트 편집기로, 기본 인터페이스는 Windows의 메모장과 유사
- 사용하기 편리하지만 기능이 부족하고 업데이트가 잘 되지 않는 단점
- 자유 소프트웨어 라이센스가 아니기 때문에 소스 수정이 불가
- GNU프로젝트에서는 pico의 복제버전 에디터인 nano를 개발
4. 2. 4. vim편집기 ★
- 1991년 브람 무레나르가 vi편집기와 호환되면서 독자적으로 다양한 기능을 추가하여 만든 편집기 ★★★
- 편집 시 다양한 색상 이용 가능
- 패턴 검색 시 하이라이트 기능을 제공하여 빠른 검색 가능
- 콜론모드(실행모드)에서 히스토리 기능 제공
- 다중 되돌리기 기능 및 유니코드를 비롯한 다국어 지원 및 문법 검사 기능
4. 2. 5. nano 편집기★
- 1999년 GNU프로젝트에서 크리스 알레그레타가 pico의 복제버전으로 개발 ★★★
키 조합 | 설명 |
---|---|
[Ctrl] + [a] | 행의 처음으로 커서 이동 |
[Ctrl] + [e] | 행의 끝으로 커서 이동 |
[Ctrl] + [p] | 위 행으로 커서 이동 |
[Ctrl] + [n] | 아래 행으로 커서 이동 |
[Ctrl] + [y] | 이전 페이지로 이동 |
[Ctrl] + [v] | 다음 페이지로 이동 |
[Ctrl] + [k] | 현재 행 삭제 |
[Ctrl] + [u] | 붙여넣기 |
[Ctrl] + [o] | 저장 |
[Ctrl] + [x] | 종료 |