본문 바로가기
프로그래밍/Linux

1. 쉘(shell)

by 준보틱스 2024. 12. 21.

쉘이란?

쉘(shell)은 커널(Kernel)과 사용자간의 다리 역할을 하는 것으로 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다. 우리가 흔히 사용하는 원도우의 명령 프롬프트(cmd)도 쉘이다.

 

쉘은 사용자가 시스템에 로그인하게 되면 각 사용자에게 설정된 쉘이 부여되면서 다양한 명령어를 수행할 수 있게 된다. 달리 말하면 사용자에게 쉘을 부여하지 않게 되면 시스템에 로그인하더라도 명령을 수행할 수 없게 되므로 로그인을 막는 효과와 동일하다고 볼 수 있다.

■ 쉘의 종류

 

[1] Bourne Shell(sh)

Bourne Shell 은 1974년 개발된 최초의 쉘이다. 대부분의 리눅스에 기본적으로 설치가 되어있다. 설치 위치는 '/bin/sh' 이다.

[2] C Shell(csh)

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

[3] tee-see-Shell(tcsh)

tee-see-Shell 은 1983년 개발되어 소스코드를 게시하였다. 간단하게 설명하면 C Shell 에서 명령 행 완성과 명령 행 편집 기능을 추가한 것이다. 초기 맥 OS X 는 tcsh를 기본 셸로 포함하고 있었다. 하지만 시간이 지나고 배시 쉘에 밀려버렸다. 설치 위치는 '/bin/tcsh' 이다.

[4] Z Shell(zsh)

Z Shell 은 1990년에 첫 버전을 작성하였다. Z Shell 은 지금까지의 수 많은 쉘 들의 기능을 머금고 있다. 그렇기 때문에 많은 개선 사항들이 갖추어진 확장형 Bourne Shell 이다. 설치 위치는 '/bin/zsh' 이다.

[5] Bourne-again Shell(bash)

배시쉘(bash shell)은 1989년 브라이언 폭스가 GNU 프로젝트를 위해 개발하였으며 본 쉘(Bourne Shell)을 기반으로 만들어졌다. GNU 운영체제, 리눅스, 맥 OS X 등 다양한 운영체제에서 사용 중이며 현재 리눅스의 표준 쉘로 C Shell 과 Bourne Shell 의 기능들이 많이 포함 되어 있다. 대부분 Shell Script 라고 검색을 하면 기준이 대부분 Bash Shell 로 작성 되어 있다. bash의 명령어 문법은 sh와 호환되고 ksh와 csh의 유용한 기능을 참고하여 명령 히스토리, 명령어 완성 기능, 히스토리 치환, 명령행 편집 등을 지원한다. 그만큼 자료가 방대면서 배우기 쉽고, 강력하다는 증거이다. 설치 위치는 '/bin/bash' 이다.

  • bash shell의 특징 : Alias 기능(명령어 단축 기능), History 기능(↑ or ↓), 연산 기능, Job Control 기능, 자동 이름 완성 기능(tab), 프롬프트 제어 기능, 명령 편집 기능 등

쉘의 확인/변경

  • 사용 중인 쉘 확인 "echo $SHELL"

  • 사용가능한 쉘 리스트 확인 명령어 "cat /etc/shells"

  • 쉘 변경 명령어 "chsh"

'프로그래밍 > Linux' 카테고리의 다른 글

4. 디렉터리 관련 명령어  (0) 2024.12.21
3. git clone, wget  (0) 2024.12.21
2. Linux 파일시스템 계층 구조  (0) 2024.12.21
0.1 리눅스 버전 확인  (0) 2024.12.21
0. 리눅스(Linux)란?  (0) 2024.06.24