[Linux] shell 이란?

윤동기·2023년 2월 1일
0

Linux

목록 보기
3/9
post-thumbnail

1. 쉘(Shell) 이란?

  • 리눅스 커널과 사용자를 연결해주는 인터페이스

    • 사용자가 입력하는 명령을 읽어 해석하고 프로그램을 실행시키는 인터페이스

2. 쉘(Shell)의 기능

  • 명령어 해석기 기능

    • 사용자와 커널 사이에서 명령을 해석하여 전달한다. (대화식 사용)
  • 프로그래밍 기능

    • 일련의 명령어와 쉘 자체로 프로그램을 만들 수 있다 (Shell Script).
  • 사용자 환경설정 기능

    • 리눅스의 세션 변수들을 정의하여 사용자가 리눅스 환경을 설정할 수 있다.

3. 쉘(Shell)의 종류

  • bourne shell 계열

    1. sh (bourne shell)
      - 1974년 'Stephen Bourne' (스티브 본) 이 개발한 최초의 쉘
      - /bin/sh

      대부분의 리눅스에 기본적으로 설치
      스크립트를 지원
    2. ksh (korn shell)
      - 유닉스에서 가장 많이 사용되는 본 쉘을 확장한 쉘
      - /bin/ksh

      명령어 완성 기능, 히스토리 기능 지원
    3. bash (bourne again shell)
      - Linux 표준 쉘로 채택 (리눅스에서 가장 많이 사용하는 쉘)
      - /bin/bash
      - 본셀을 기반으로 GNU 프로젝트를 위해 'Brian Fox'가 작성한 쉘

      Linux, MAC OS X 등 다양한 OS에서 사용됨
      명령어 완성 기능, 히스토리, 명령어 치환, 편집 등을 지원
      POSIX와 호환 가능
    4. zsh (z shell)
      - 확장형 본쉘, 콘쉘의 재작성 쉘
      - /bin/zsh

      강력한 history 기능
      향상된 명령행 편집 기능
  • C Shell 계열

    1. csh (C Shell)
      - 본쉘의 사용성을 높인 쉘
      - /bin/csh
      C언어의 특징을 많이 포함함
      히스토리, 별명, 작업 제어 등의 기능 포함
    2. tcsh (tc shell, tee-see-shell)
      - csh의 기능을 강화한 쉘
      - /bin/tcsh
      확장 C쉘로, BSD 계열에서 가장 많이 사용
      명령어 편집 기능 제공

4. 사용 중인 쉘(Shell) 알아보기

echo $SHELL // 현재 사용 중인 셸의 위치를 출력한다.
  • git bash
  • Ubuntu
profile
꿈꾸는 개발자

0개의 댓글