⬅️ 이전     🏠 분류 목차

쉘 Shell

쉘 (Shell)

쉘의 개념

쉘은 사용자와 운영체제 커널 사이에서 명령어를 해석하고 실행하는 프로그램입니다. CLI의 핵심 구성 요소로, 사용자가 입력한 명령어를 커널이 이해할 수 있는 형태로 변환하여 전달합니다.

쉘의 역할:

  1. 명령어 해석: 사용자 입력을 파싱하고 해석
  2. 프로세스 관리: 명령어 실행 및 프로세스 제어
  3. 환경 관리: 환경 변수 및 작업 디렉토리 관리
  4. 입출력 제어: 표준 입력/출력/에러 스트림 관리

리눅스 쉘의 종류

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

⬅️ 이전

서브목차