셸은 사용자와 리눅스 커널 사이에서 중간자 역할을 수행한다.
셸이 제공하는 기능은 크게 명령어 해석기 기능, 프로그래밍 기능, 사용자 환경 설정 기능 등 크게 세가지로 구분한다.
셸은 사용자가 입력한 명령이나 파일에서 읽어들인 명령을 해석하고 적절한 프로그램을 실행한다.
셸이 사용자의 명령을 기다리고 있음을 나타내는 표시를 프롬프트라고 한다.
명령어 해석기 기능 : 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석기와 번역기 기능이다.
프로그래밍 기능 : 셸은 자체 내에 프로그래밍 기능이 있어서 프로그램도 만들 수 있다.
셸의 프로그래밍 기능을 이용하면 여러 명령을 사용하여 반복적으로 수행하는 작업을 하나의 프로그램으로 만들 수 있는데, 이렇게 작성된 셸 프로그램을 셸 스크립트라 부른다.
사용자 환경 설정 기능 : 셸은 사용자 환경을 설정할 수 있도록 초기화 파일 기능을 제공한다. 초기화 파일에는 명령을 찾아오는 경로를 설정하거나 파일과 디렉터리를 새로 생성할 때 적용하는 기본 권한을 설정하거나 다양한 환경 변수 등을 설정할 수 있다.
셸의 종류 : 본셸, C셸, 콘셸, 배시셸이다. 일반적으로 명령을 입력하거나 실행하는 기능이 비슷하지만 앨리어스 설정이나 초기화 파일, 스크립트 작성하는 문법 등에 조금 차이가 난다.
본셸 (Bourne Shell)
본셸의 명령 이름은 sh 이다. 본셸의 업그레이드 버전이 콘셸이나 배시셸로 심볼릭 링크가 되어 있다. 대표적으로 유닉스 운영체제 중의 하나인 솔라리스의 경우 본셸이 배시셸의 심볼릭 링크로 바뀌었다. CentOS도 배시셸로 심볼릭 링크가 되어 있다.
C셸
C셸은 본셸의 기능을 확장한 것으로, 본셸에는 없던 앨리어스나 히스토리 같은 사용자 편의 기능을 포함. 셸 스크립트 작성을 위한 구문 형식이 C 언어와 같아 C셸이라는 이름을 가지게 되었다. C셸의 명령 이름은 csh 이다. 크기가 크고 처리 속도가 느린 단점이 있으나, 편리한 기능 덕분에 일반 사용자들이 많이 사용했다.
콘셸
C셸과 달리 본셸과의 호환성을 유지할 뿐만 아니라 히스토리, 앨리어스 기능 등 C셸의 특징도 모두 제공하면서 처리 속도도 빠르다는 장점을 가지고 있다. 콘셸의 명령 이름은 ksh 이다. CentOS에서는 별도로 설치해야 한다.
배시셸 (Borune Again Shell)
본셸을 기반으로 개발된 셸로서 C셸, 콘셸의 편리한 기능도 포함하고 있다. 배시셸의 명령 이름은 bash 이다. 배시셸은 GPL을 따르는 공개 소프트웨어로서 리눅스의 기본 셸로 제공되어 있어 리눅스에서 많이 알려졌다.
'컴퓨터 세상 > LiNuX' 카테고리의 다른 글
셸 사용법 - 출력 명령, 특수 문자 사용 (0) | 2022.01.25 |
---|---|
셸 기본 사용법 - 셸 변경, 셸 내장 명령 (0) | 2022.01.18 |
VI 환경 설정 (0) | 2022.01.05 |
VI 문서 편집기 - 현재 화면 다시 출력 / 현재 행 번호 마지막행에 출력 / 행 연결 / 이전 명령 반복 / 대,소문자 전환 (0) | 2022.01.04 |
VI 문서 편집기 - 셸 명령 사용하기 (0) | 2022.01.04 |