IT 끄적이기
Shell(쉘): 명령어를 해석하고 실행하는 프로그램
미르아
2025. 1. 8. 14:52
728x90
리눅스에서 작업을 하다가 문득 궁금해져서 기본 개념을 정리하기 위해 기록!
sh (Bourne Shell)
- 역사: 1979년 AT&T에서 개발된 초기 쉘.
- 특징:
- POSIX 표준을 따르는 가장 기본적인 쉘.
- 가볍고 단순하며, 대부분의 Unix/Linux 시스템에 기본 포함.
- 제약:
- 기능이 최소화되어 있어 스크립팅에서 현대적인 기능(배열, 편리한 문법 등)이 부족.
- bash 같은 최신 쉘보다 불편.
- 사용 예: 주로 호환성 요구사항이 높은 스크립트에서 사용.
bash (Bourne Again Shell)
- 역사: sh의 확장판으로 GNU 프로젝트에서 개발 (1989년).
- 특징:
- sh의 모든 기능을 포함하며, 더 많은 기능 추가.
- 배열, 조건문 개선, 명령어 자동완성, 명령어 히스토리 지원.
- 현대적인 리눅스 배포판의 기본 쉘.
- 사용 예: 대부분의 리눅스 사용자들이 사용하는 기본 쉘.
- 차이점:
- sh는 단순, bash는 확장된 기능 제공.
- 예: bash는 배열, 히스토리 검색, 명령 자동완성 등 지원.
zsh (Z Shell)
- 역사: 1990년대에 개발된 고급 쉘.
- 특징:
- bash의 기능을 포함하면서도 훨씬 강력한 사용자 정의 및 플러그인 지원.
- 테마, 플러그인 등을 쉽게 사용할 수 있음.
- 자동완성 기능이 더 강력하며, 명령어 입력이 편리함.
- Oh My Zsh 같은 플러그인 관리 도구로 꾸미기 쉽고, 개발자들에게 인기.
- 사용 예: 맥OS 기본 쉘(zsh), 개발자들 사이에서 인기.
Text Editor (텍스트 편집기)
vi (Visual Interface)
- 역사: 1976년 Bill Joy가 개발.
- 특징:
- 초기 Unix 텍스트 편집기 중 하나로, 가볍고 어디서나 사용할 수 있음.
- 모드 기반: 명령 모드, 입력 모드로 나뉨.
- GUI 없이 터미널 환경에서 작동.
- 제약:
- 현대적 편집기 기능(구문 강조, 복잡한 검색 등)이 부족.
- 초보자에게 배우기 어려움.
vim (Vi Improved)
- 역사: vi의 확장판으로 1991년 Bram Moolenaar가 개발.
- 특징:
- vi의 모든 기능 포함 + 현대적 기능 추가.
- 강력한 기능:
- 구문 강조, 다중 파일 편집, 플러그인 지원.
- 검색/치환, 자동완성 등.
- 모든 Unix/Linux 시스템에서 쉽게 설치 가능.
- 사용 예:
- 터미널 환경에서 코드를 작성하거나 설정 파일을 수정할 때.
- vim은 많은 개발자가 선호하는 강력한 편집기.
주요 차이점 요약
도구역할특징sh | 기본 쉘 | POSIX 표준, 단순한 스크립트 실행용. |
bash | 기본 쉘 + 확장 | 자동완성, 배열 등 현대적 기능 포함. 대부분의 리눅스 기본 쉘. |
zsh | 고급 쉘 | 플러그인, 테마, 강력한 자동완성. 맥OS 기본 쉘. |
vi | 기본 텍스트 편집기 | 간단하지만 제한적인 기능. 터미널 환경에서 사용. |
vim | 고급 텍스트 편집기 | vi에 구문 강조, 플러그인 등 추가된 강력한 편집기. |
728x90