셸(Shell)은 사용자가 커널의 서비스 기능을 사용할 수 있도록 하는 사용자 인터페이스입니다.
아래의 그림을 통해 쉽게 설명이 가능합니다.
리눅스의 구조에서는 하드웨어 / 커널 / 셸 / 응용프로그램으로 구성되어 있습니다.
여기서 셸은 메모리 관리를 담당하고 커널은 프로세스 관리를 담당합니다.
셸은 운영체제의 외부 계층을 형성하고 커널은 운영체제의 내부 계층을 형성합니다.
이 때문에 셸은 사용자로부터 명령어를 입력 받고 해석하여 내장 및 외장 명령어를 처리하는 대화형 사용자 인터페이스라 불립니다.
사용자가 직접적으로 커널에게 명령어를 내리는 것은 어렵기 때문에 셸을 통해 커널의 기능인 파일관리, 프로세스관리, 환경설정 등을 사용할 수 있습니다.
셸은 응용 프로그램이 아니라 일반 응용 프로그램과 같이 커널이 제공하는 시스템 콜을 통해 구현되어 있습니다. 한 마디로 말해서 사용자가 커널에게 간편히 명령을 내릴 수 있는 목적으로 만들어진 기본 응용 프로그램 입니다.
셸은 사용자와 상호작용한 다음 기계어로 해석하고 커널에서는 이 기계어를 받아서 하드웨어와 상호작용을 합니다.
[Linux] 셸의 개념과 셸의 유형 및 명령어 모음
셸의 유형은 대표적으로 본셸과 C셸로 나뉩니다.
본셸 : 유닉스에서 처음 나온 셸로서 1919년에 나타났으며 스티브 본이 개발해서 본셸이라 불립니다.
C셸 : 빌 조이라는 개발자가 개발한 셸로써 스크립트 형식이 C언어와 동일하기 때문에 C셸이라 불립니다.
계열 | 셸 종류 | 내용 |
본셸 | sh (bourne shell) | 유닉스 기본 셸로서 오랫동안 인기 |
ksh (korn shell) | 본셸과 호환이 되며 히스토리 기능과 별칭 기능 및 작업 제어 기능이 추가되었고 명령행 편집 기능 제공 | |
bash (bourne again shell) | 리눅스에서 가장 많이 사용되는 셸로써 다양한 운영체제에 이식 가능. sh와 호환이 되고 ksh와 csh에서 영향을 받아 두 종류의 기능을 모두 제공 |
|
C셸 | csh (C shell) | C언어를 기반으로 강력한 프로그래밍 기능을 제공하여 히스토리,별명,작업 제어 등을 제공 |
tcsh (TC shell) | 명령줄 완성 기능과 명령줄 편집 기능을 영향받았고 csh와 호환 가능 |
아래 표를 통해 명령어들을 지속적으로 업데이트할 계획입니다.
구분 | 링크 |
셸의 확인 | 업데이트되면 업로드 시키겠습니다. |
'Linux' 카테고리의 다른 글
[Linux] 셸 확인 및 기능 명령어 & 예시 (0) | 2024.12.20 |
---|---|
Linux 크론탭을 이용하여 Java 연동 방법 (0) | 2024.11.13 |
[Linux] 톰캣(WAS) / 아파치(Apache) 서버 확인 및 시작 방법 (0) | 2023.06.16 |
댓글