셸 (소프트웨어)
셸(shell)은 운영체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다.
목차
개요
셸은 사용자와 운영 체제의 내부(커널) 사이에서 사용자의 명령을 해설하고 처리 결과를 알려주는 시스템 프로그램이다. 셸의 사전적 의미인 껍데기에서 따온 말로 내부의 커널이 존재하고 사용자가 이를 감싸고 있는 껍데기인 인터페이스를 통해 커널에 접근한다는 개념이다. 셸의 종류 명령 줄 인터페이스(CLI, 커맨드 라인 인터페이스)과 그래픽 사용자 인터페이스 (GUI, 그래픽 유저 인터페이스)로 구분된다.
그 외에도 이 환경으로 접속하는 보안 접속 프로그램(SSH, Secure SHell)을 일컫는 말이기도 하다.[1]
역사
그래픽 사용자 인터페이스의 아이디어는 1960년대에 제안되었다. 이반 서덜랜드가 1963년에 개발한 스케치패드는 최초로 완전한 그래픽 사용자 인터페이스를 구현한 것이었으며, 비슷한 시기에 더글라스 엥겔바트를 비롯한 SRI 인터내셔널의 연구자 들은 하이퍼링크를 기반으로 마우스를 사용자는 NLS를 개발했다.
NLS의 하이퍼링크 개념은 제록스 파크에서 그래픽으로 확장되었으며, 1973년에 개발된 제록스 알토 컴퓨터는 그래픽 사용자 인터페이스를 사용하는 최초의 컴퓨터가 되었다. 현재 대부분의 그래픽 사용자 인터페이스들은 기본적으로 이 인터페이스로부터 유래했으며, 어떤 사람들은 이들을 ‘파크 사용자 인터페이스(PUI)’라 부르기도 한다. 파크 사용자 인터페이스는 윈도, 메뉴, 아이콘, 라디오 단추, 체크 상자 등의 그래픽 요소들을 사용하며, 마우스와 같은 포인팅 장치를 키보드와 함께 사용한다.[2]
기능
- 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능이 있다.
- 셸은 자체 내에 프로그래밍 기능을 이용하여 프로그램 작성이 가능하며, 셸 프로그래밍 기능을 이용하여 여러 명령을 사용해 반복적으로 수행하는 작업을 하나의 프로그램을 제작할 수 있다.
- 사용자 환경 설정 기능을 통해 초기화 파일 기능을 이용하여 사용자의 환경을 설정할 수 있다.[3]
종류와 특징
셸은 커널에서 분리된 별도의 프로그램으로, 다양한 종류의 셸이 존재한다.[4]
본 셸(Bourne Shell)
본 셸은 유닉스 버전 7의 기본 유닉스 셸이었다. 톰프슨 셸을 대체하는 실행파일 이름이 sh로 같으며, AT&T 벨 연구소의 스티븐 본이 개발했고 1977년 처음으로 유닉스 버전 7에 포함되었다. 본 셸 자체의 기능은 비교적 강력하지 않지만, 유닉스 시스템의 기본 프로그램을 조합하여 사용하면 매우 강력한 기능을 하는 스크립트를 만들 수 있다. 이 셸은 PWB 셸을 대체할 목적으로 설계되었고 주요 목적은 다음과 같다.
- 셸 스크립트를 필터로 사용할 수 있게 한다.
- 제어 흐름과 변수를 포함한 프로그래밍 가능성을 제공한다.
- 모든 입출력 파일 서술자의 제어
- 스크립트 내의 신호 관리 제어
- 셸 스크립트 내의 신호 관리 제어
- 셸 스크립트를 해석할 때 문자열 길이의 제한을 없앤다.
- 매커니즘을 인용하는 문자열의 합리화 및 일반화
- 환경 매커니즘 [5]
C shell
Korn Shell
BASH
TC Shell
Z Shell
각주
- ↑ 나무위키 공식 홈페이지 - https://namu.wiki/w/%EC%85%B8
- ↑ 위키백과 공식 홈페이지 - https://ko.wikipedia.org/wiki/%EC%85%B8
- ↑ IT 양햄찌 , 〈셸이란?〉, 《네이버 블로그》, 2019-02-06
- ↑ jh0110love , 〈SHELL(셸,셀) 이란?〉, 《네이버 블로그》, 2009-11-09
- ↑ 위키백과 공식 홈페이지 - https://ko.wikipedia.org/wiki/%EB%B3%B8_%EC%85%B8
참고자료
- 나무위키 공식 홈페이지 - https://namu.wiki/w/%EC%85%B8
- 위키백과 공식 홈페이지 - https://ko.wikipedia.org/wiki/%EC%85%B8
- IT 양햄찌 , 〈셸이란?〉, 《네이버 블로그》, 2019-02-06
- jh0110love , 〈SHELL(셸,셀) 이란?〉, 《네이버 블로그》, 2009-11-09
- 위키백과 공식 홈페이지 - https://ko.wikipedia.org/wiki/%EB%B3%B8_%EC%85%B8