| ⬅️ 이전 | 🏠 분류 목차 |
쉘 Shell
쉘 (Shell)
쉘의 개념
쉘은 사용자와 운영체제 커널 사이에서 명령어를 해석하고 실행하는 프로그램입니다. CLI의 핵심 구성 요소로, 사용자가 입력한 명령어를 커널이 이해할 수 있는 형태로 변환하여 전달합니다.
쉘의 역할:
- 명령어 해석: 사용자 입력을 파싱하고 해석
- 프로세스 관리: 명령어 실행 및 프로세스 제어
- 환경 관리: 환경 변수 및 작업 디렉토리 관리
- 입출력 제어: 표준 입력/출력/에러 스트림 관리
리눅스 쉘의 종류
1. Bash (Bourne Again Shell)
특징:
- 가장 널리 사용되는 리눅스 쉘
- GNU 프로젝트에서 개발된 GNU Bash
- POSIX 호환성과 확장된 기능 제공
주요 기능:
- 명령어 히스토리: 이전 명령어 검색 및 재실행
- 명령어 완성: Tab 키를 이용한 자동 완성
- 별칭(Alias): 명령어 단축 및 커스터마이징
- 함수 정의: 사용자 정의 함수 작성
- 조건문 및 반복문: 스크립팅 언어로서의 기능
2. Zsh (Z Shell)
특징:
- Bash의 확장된 기능을 제공
- 강력한 플러그인 시스템
- Oh My Zsh 등 프레임워크 지원
주요 기능:
- 고급 자동 완성: 컨텍스트 기반 자동 완성
- 스펠링 교정: 명령어 오타 자동 수정
- 테마 지원: 다양한 프롬프트 테마
- 플러그인: 확장 기능 추가 가능
3. Fish (Friendly Interactive Shell)
특징:
- 사용자 친화적인 인터페이스
- 구문 강조 및 자동 완성 기능
- 설정 파일이 없는 간단한 구조
4. Dash (Debian Almquist Shell)
특징:
- 경량화된 쉘
- POSIX 호환성에 중점
- 부팅 스크립트에 최적화
쉘 환경 변수
쉘은 환경 변수를 통해 시스템 설정과 사용자 환경을 관리합니다.
주요 환경 변수:
- PATH: 실행 파일 검색 경로
- HOME: 사용자 홈 디렉토리
- USER: 현재 사용자 이름
- SHELL: 현재 사용 중인 쉘
- PWD: 현재 작업 디렉토리
환경 변수 확인 및 설정:
# 환경 변수 확인
echo $PATH
env
printenv
# 환경 변수 설정
export VARIABLE_NAME=value
서브목차