[Linux] 쉘(Shell)이란?

naneun·2022년 1월 7일
0

Linux

목록 보기
3/3
post-thumbnail

* 본 내용은 학습하면서 정리하는 글입니다. 계속 업데이트됩니다.

2020/01/07 - 최초 작성

1. 쉘(Shell)이란?

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

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

2. 쉘(Shell)의 기능

  1. 명령어 해석기 기능

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

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

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

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
riako

0개의 댓글