본문 바로가기
IT/Linux

Shell(쉘) 의 개념

by 성준하이 2022. 5. 15.
반응형

쉘은 리눅스에서 커널과 사용자의 다리 역할을 한다.

즉 사용자가 리눅스의 커널을 사용하기 위해서는 쉘을 사용하여 접근을 하게 된다.

사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행시키는 역할을 한다.

 

쉘의 종류는 다양하나 오늘날 많이 사용되는 쉘의 종류는 다음과 같다.

bash 쉘 GNU운영체제, 리눅스, 맥 등 다양한 운영체제 에서 사용중이며 현재 리눅스의 표준 쉘이다.
c 쉘 C언어를 기반으로 만들어졌으며 강력한 프로그램 작성기능을 가지고 있다.
tcsh c쉘의 기능을 강화 시킨 쉘이다.
ksh 콘 쉘이라고 읽으며 C쉘을 기반으로 업그레이드 한 쉘중 하나이다.

현재 사용중인 쉘을 확인 하기 위해서는 echo 명령어를 사용하여 확인을 할수 있다.

리눅스 기반의 mac os 에서의 기본 쉘은 배쉬 쉘의 파생인 zsh이다.

쉘을 변경하기 위해서는 change shell 의 약자인 chsh 를 사용하여 변경을 할수가 있다.

 

그리고 환경변수란 윈도우에서도 존재하는데 프롬프트 변경, path 변경 등과 같이 쉘의 환경을 정의하는 중요한 역할을 수행하는 변수를 말한다.

대표적으로 bash로 설명을 좀더 이어 하자면 bash 에서는 주요 환경변수의 값들이 있다.

변수 내용
home 사용자 홈 디렉터리
path 실행 파일을 찾는 디렉터리 경로
lang 쉘 사용시 기본으로 지원되는 언어
term 로그인한 터미널 종류
pwd 사용자의 현재 작업 디렉터리
shell 사용자 로그인 쉘
user 사용자 이름
display x에서 프로그램 실행시 출력되는 창
ps1 / ps2 프롬프트 변수 1차 / 2차

 

그리고 각 쉘마다 주요 기능이 있는데 bash 쉘을 기준으로 설명을 하면

  • 명령행 완성 기능
  • history 기능
  • alias 기능
  • 명령행 편집 기능
  • 명령 대체 기능
  • 그룹명령 실행 기능
  • 표준 입출력 제어 기능
  • 리다이렉션
  • 파이프
  • 작업 제어 기능
  • 산술 연산 기능
  • 프롬프트 제어 기능
  • 확장된 내부 명령어

등이 있다.

 

다음 포스팅에 이어서 쉘 프로그래밍에 대해서 다뤄볼 예정이다.

반응형

'IT > Linux' 카테고리의 다른 글

시그널과 데몬에 대해서  (58) 2022.05.17
쉘 스크립트란?  (46) 2022.05.16
리눅스의 구조  (34) 2022.05.11
리눅스에서의 하드웨어  (48) 2022.05.10
리눅스에 대해서  (49) 2022.05.09

댓글