끄적끄적
[인프라] 쉘이란?
nohriter
2022. 1. 9. 15:55
쉘이란?
- 사용자 명령어 해석기
- 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제에게 전달
- 쉘은 커널과 사용자간의 다리역할(인터페이스)을 하는 것으로 사용자로부터 받은 명령을 해석하고 프로그램을 실행하는 역할
쉘의 기능
- 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능
- 쉘 자체 내에 프로그래밍 기능이 있어 프로그램을 작성할 수 있다. 쉘 프로그래밍 기능을 이용하면 여러 명령을 반복적으로 수행하는 작업을 하나의 프로그램으로 제작 할 수 있다. 이런 쉘 프로그램을 쉘 스크립트 라고 부른다.
- 사용자 환경 설정의 기능 - 초기화 파일 기능을 이용해서 사용자의 환경을 설정할 수 있다. 로그인 할 때 이 초기화 파일이 실행되어 사용자의 초기 환경이 설정된다. 쉘을 공부하는데 있어 가장 중요한 것 중 하나가 환경변수의 이해이다.
쉘의 종류와 특징
종류 | 의미 |
Bourne Shell(sh) | AT&T 벨 연구소의 스티븐 본(Stephen Bourne)이 개발한 Original shell |
C Shell(csh, tsh) | Bill Joy 가 C언어의 기술을 넣어서 만든 Shell (C 언어의 문법 적용) History, aliases, job control, vi command editing 기능 포함 |
Korn Shell(ksh) | David Korn이 AT&T에서 기존 Borune Shell에 C Shell 기능을 포함시켜 생성 |
Bourne-again Shell (bash) | GNU Project로 만들어졌고, csh, ksh이 가진 기능을 포함하면서 Bourne Shell과 호환성을 많이 높인 Shell로 리눅스, MAC OS의 기본 쉘이고 윈도우에서도 사용이 가능하다 |
기본 Shell 구성하기
사용 가능한 Shell 리스트 확인하기
$ cat /etc/shells
지금 사용중인 Shell 확인하기
$ echo $SHELL