셸(Shell)은 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다.
사전적 의미로는 조개 껍데기를 뜻하는데, 내부의 커널이 있고 사용자는 이를 감싸고 있는 껍데기를 통해 커널에 접근한다는 개념으로
컴퓨터의 초창기인 60년대부터 사용된 단어라고 한다.
셸은 흔히 명령 줄 셸인 CLI와 그래픽 셸인 GUI로 구분한다. 그 외에도 이 환경으로 접속하는 보안접속 프로그램인 SSH(Secure Shell)을 일컫는 말이기도 하다.
본격적으로 셸에 대해 알아보기 전에 셸과 터미널의 차이를 알아보면 다음과 같다.
- 셸 : 사용자가 글자를 타이핑하여 컴퓨터에게 명령할 수 있도록 하는 프로그램
- 터미널 : 셸을 실행하기 위해 글자 입력을 받아 컴퓨터에게 전달하거나 컴퓨터의 출력을 글자 화면에 쓰는 프로그램
따라서 셸과 터미널은 항상 같이 실행될 수 밖에 없다.
초기의 셸은 컴퓨터 친화적(?)이었기에 상당히 불친절했는데, 이후에 사용자 친화적으로 나온 것이 바로 Bash이다.
Bash Shell은 리눅스 시스템의 기본 셸로 쓰이고 있고(기본으로 쓰인다는 말은, 다른 종류도 많다는 것이다) 윈도우에서는 WSL을 통해 사용 가능하다.
셸 명령어에 대한 내용이나 셸 스크립트 프로그래밍 방법을 알고 싶다면 <The Linux Command Line>을 참고하자!
한글 번역본은 <리눅스 커맨드라인 완벽 입문서>이다. 표지가 참 유쾌하네..
'ETC' 카테고리의 다른 글
프론트엔드 프레임워크 (0) | 2023.03.19 |
---|---|
10개의 언어로 웹앱 만들기 (0) | 2023.03.09 |
OSI 7 Layer | TCP/IP Updated Layer (0) | 2022.03.14 |
C++ 메모리 접근 형변환 (0) | 2022.01.17 |
vi란? (0) | 2021.12.30 |