쉘이란?
쉘
명령어와 프로그램을 실행할 때 사용하는 인터페이스.
사용자로부터 받은 명령을 해석하며, 프로그램을 실행하는 역할.
= 쉘은 OS의 Kernal과 사용자간 다리역할을 한다.
다음과 같이, "터미널" 과 같이 명령어를 입력하는 환경을 의미한다.
쉘의 주요 기능
- 사용자 명령을 해석하고, 커널로 전달하는 명령어 해석기 기능
- 프로그래밍 기능
a. 여러 명령으로 반복적인 작업을 하나의 프로그램으로 만들 수 있음.
ex) 쉘 스크립트 - 사용자 환경 설정
a. 초기화 파일로, 사용자 초기 환경 설정 가능
쉘 종류와 특징
쉘은 커널에서 분리된 별도의 프로그램이다.
그림 이외에도 다양한 쉘이 존재하나, 지금은 거의 bash(Bourne-again shell)이 사용된다.
1) Bourne Shell(sh)
bell 연구소 steve bourne
이 개발
유닉스 쉘의 오리지날이자 최초의 셸.
모든 유닉스 기반 OS에서 사용 가능하나, 미흡하며 상호대화식 방법을 취하지 않는다.
2) c shell(csh)
1978.버클리 대학 빌 조이
에 의해 개발
c언어 기반으로 개발되어, 강력한 프로그램 작성 기능을 가진다.
쉘 스크립트 언어가 c언어와 비슷
크기가 커지고 처리속도가 느려졌으나 기능이 편리하여 일반 사용자들에게 인기가 많았다.
3) Korn Shell - ksh
1983. AT&T의 bell 연구소에서 david korn
이 개발
sh를 기반으로 만들어졌고, c쉘의 많은 기능들이 추가되었다.
c쉘 특징을 모두 제공하면서 처리 속도도 빠르다.
4) Bourne-again shell(bash)
1989.브라이언 폭스
가 GNU 프로젝트를 위해 sh를 기반으로 개발.
ksh, csh의 장점을 합하여 다양한 운영체제에서 사용된다.
현재 리눅스의 표준 쉘
나는 무슨 쉘을 쓰고 있는가?
echo $SHELL // 명령어로 확인할 수 있다.
zsh쉘은 현재 맥os의 기본 쉘로, 10.15 카탈리나 이후 bash >> zsh로 기본 쉘이 변경되었다고 한다.
참고자료
'CS > shell' 카테고리의 다른 글
[쉘] 쉘 스크립트 작성하고 실행하기 (0) | 2021.07.24 |
---|