사용자가 컴퓨터에서 소프트웨어인 응용프로그램을 실행하기 위해선 하드웨어를 어떻게 이용할 지가 문제가 된다. 하드웨어와 응용 프로그램 사이에서 하드웨어를 이용하기 위한 소프트웨어를 우리는 '운영체제'라고 한다. '운영체제' 속에서 컴퓨터 자원을 관리하는 게 바로 커널이다. 커널의 경우 컴퓨터 자원만 바라보고 있기 때문에 사용자와의 상호작용은 전혀 지원하지 않습니다. 그렇다면 어떻게 사용자와 상호작용하는가? 그떄 바로 이 Shell 이 그 기능을 한다.

 

Shell

사용자의 입력을 받아 적절한 프로그램을 수행시켜준다.

 

Shell 의 기능

1. 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능이 있다. 

2. 쉘은 자체 내에 프로그래밍 기능이 있어 프로그램을 작성할 수 있다( 쉘 프로그램을 셀 스크립트라고 부른다.)

3. 사용자 환경 설정의 기능이 있어 사용자의 환경을 설정할 수 있다.

 

Shell 의 종류

1. Bourne Shell(sh)

1974년 스티브 본이 개발하였고, 최초의 쉘이다. 대부분의 리눅스에 기본적으로 설치가 되어있다. 설치 위치는 /bin/sh 이다.

2. C Shell(csh)

1978년 빌 조이가 개발하였다.  Bourne Shell 의 사용성을 높이고, 더욱 강력하게 만들어졌다. C언어를 기반으로 만든 Shell 이다. 때문에 강력한 프로그램 작성 기능을 지니었다. 설치 위치는 /bin/csh 이다

3. tee-see Shell(tcsh)

카네기 멜런 대학교의 학생들이 개발하여 1983년 소스코드를 게시하였다.  C Shell 에서 명령 행 완성과 명령 행 편집 기능을 추가한 것이다. 설치위치는 /bin/tcsh 이다.

4. Z Shell(zsh)

폴 폴스타드가 1990년 대학교 재학중일 때 첫 버전을 작성하였다. 지금까지의 수 많은 쉘의 기능을 머금고 있다. 확장형 Bourne Shell 이다. 설치 위치는 /bin/zsh 이다.

5. Bourne-again shell(bash)

Bourne-again shell 은 지금 현 시대에 가장 많이 쓰이는 Shell 이다. 줄여서 Bash Shell 은 GNU 프로젝트를 위해 브라이언 폭스가 작성한 쉘이다.GNU 운영체제와 리눅스, 맥 OS 등 기본 쉘로 채택되어있다. 대부분 쉘스크립트라고 검색을 하면 기준이 Bash SHell 로 작성되어있다. 설치 위치는 /bin/bash 이다.

 

 

 

 

자신의 컴퓨터에 설치되어 있는 쉘을 확인하는 명령어는

  • cat /etc/shells 

이다.

 

사용자의 쉘을 다음 명령으로 바꿀 수 있다.

  • chsh -s [쉘이름] [사용자이름]
728x90

+ Recent posts