셸(Shell)은 사용자와 운영체제 커널 간의 인터페이스를 담당하는 프로그램으로 사용자가 입력한 명령어를 해석, 실행 및 결과를 출력하는 기능, 셸 스크립트를 이용한 프로그래밍 기능, 사용자 환경설정 등의 기능을 제공한다.
-sh(본셸): 최초의 셸로 유닉스 v7에서 처음으로 등장했다. 다른 대부분의 셸 들은 본셀과 호환성을 유지한다.
-ksh(콘셸): 히스토리(History), 앨리어스 (Alias 명령어 이름 재정의) 등을 지원한다.
-csh(C셸): 셸 스크립트 작성을 위한 구문 형식이 C언어와 같으며 히스토리, 앨리어스 등 편리한 기능을 제공한다.
-bash셸: 본셸을 기반으로 개발된 리눅스의 표준 셸로 ksh 와 csh 의 편리한 기능도 함께 지원한다. bash의 문법은 sh와 호환되며 명령 히스토리, 명령어 자동 완성, 명령어 치환, 명령 행 편집 등을 지원한다. 또한 POSIX와도 호환된다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
사용자의 로그인 셸 정보는 /etc/passwd 파일의 7번째 필드에 기록
bash의 경우 히스토리 리스트 버퍼에 저장된 명령들은 위/아래 방향키를 사용하여 검색할 수 있다.
리눅스는 ksh와 csh 장점을 결합한 bash 를 표준으로 함