본문 바로가기

OS/Linux

Linux - shell(쉘,셸) 이란 무엇일까?

728x90

[Shell 정의]

사용자의 명령어를 운영체제가 이해하도록 도와주는 것으로 사용자와 커널을 연결해 주는 인터페이스

ls 명령어를 입력하면 파일 리스트가 화면에 보이게 되는데, ls가 "명령어"가 되고 shell에 의해서 커널이 인식할 수 있는

형태로 변환되어 커널이 "파일 리스트가 필요하구나" 라고 인지해서 화면에 파일리스트를 표시해 줍니다.

Kernel(커널) 이 궁금하다면? [OS/Linux] - Linux - kernel(커널) 이란 무엇일까?


  
[Shell 종류]

1. Bourne Again Shell (bash)
  - 리눅스에서 가장 많이 사용되며 IEEE POSIX Shell과 도구 명세에 호환되도록 하는 게 목적

  - 프롬프트는 $(일반유저) / #(root유저)
  - Bourne Shell과 C Shell의 유용한 특징들을 통함
  - Bourne Shell과 호환
  - 대부분의 리눅스 기계에서의 표준적인 명령어 라인 인터페이스 (상호 연결, 명령어 라인 편집 등)
  - 처음 로그인을 하였을 때 기본으로 주어지는 Shell

2. Bourne Shell (sh)
  - Bell 연구소의 Steven Bourne이 개발
  - 프롬프트는 $
  - 가장 오랜 기간 동안 모든 유닉스 시스템의 표준 구성요소
  - 강력한 명령 프로그래밍 언어 기능을 가짐
  - 상호 대화식 방식을 취하고 있지 않음
  - .profile 파일로 환경을 초기화 가능

3. C Shell (csh)
  - 미국 버클리대학의 Bill Joy가 개발
  - 프롬프트는 %
  - 프로그래밍 언어 C와 유사
  - 상호 대화형 방식으로 구성
  - 크기가 커지고 처리 속도도 느려졌다는 단점이 있으나 편리한 기능을 제공
  - .cshrc 파일로 환경을 초기화 가능

4. Korn Shell (ksh)
 - AT&T 벨 연구소의 David Korn이 제작
 - 프롬프트는 $
 - Bourne Shell에 처음으로 기능(C Shell의 일부)을 확장 시킴
 - Unix에서 가장 많이 사용
 - 명령행 편집 기능을 제공
 - .kshrc 파일로 환경을 초기화 가능

5. TC Shell (tcsh)
 - 프롬프트는 >
 - C Shell (95%) + Korn Shell (5%)을 확장시켜 제작

6. Z Shell (zsh)
 - 프롬프트는 %
 - TC Shell + Korn Shell 기능을 가짐

 

※ 프롬프트(prompt)란 컴퓨터가 사용자의 입력을 받을 준비상태라는 걸 화면에 표시해 주는 신호입니다.


[Shell 종류 확인 방법]

[현재 동작 중인 Shell 확인]



728x90
반응형