리오집사의 기억저장소

03. 쉘 사용하기 [리눅스 쉘의 기능과 종류]

셸 -  사용자와 리눅스 커널 사이에서의 중간자 역할

우리가 사용하는 프로그램은 일반적으로 바이너리 형태의 명령어 집합체이며, 컴퓨터는 기본적으로 바이너리 형태의 정보들을 읽어들인다.
따라서 관리나자 사용자가 컴퓨터에 일정한 명령을 내리기 위해서는 매개체로서의 특정한 인터페이스가 필요했고 이런 역할을 하도록 하는 것이 쉘이다.

 

[ 셸의 기능 ]
①명령어 해석기로서의 기능 (대화식 사용)

   셸의 가장 기본적 기능으로서 셸은 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석,번역 기능을 제공한다.

   사용자가 로그인하면 셸이 자동으로 실행되 사용자 명령을 기다리는데, 이를 로그인 셸이라 하고 etc/passwd 파일에 사용자별로 지정되어 있다.
   사용자의 요청을 기다려서 요청 즉시 결과 값을 출력해주는 대화형 구조를 가진다.

   

   프롬프트 : 셸이 사용자의 명령을 기다리고 있음을 나타내는 표시

 

②프로그래밍 기능

   셸 자체로 프로그래밍하여 프로그램을 만들 수 있다.

   셸로 작성된 셸 프로그램을 셸 스크립트라고 부르기도 한다.

 
③사용자 환경 설정 기능 - 리눅스 세션(session)의 설정(Customization)
   리눅스의 세션에 대한 변수들을 정의하여 사용자가 리눅스 환경을 자신이 원하는 상태로 설정할 수 있게 한다.
   셸을 통해 다양한 사용자 환경을 설정할 수 있다. 
   파일, 디렉토리 등에 권한을 부여할 수 있고, 로그인시 실행되는 환경 등 여러가지 설정이 가능하다.
 

/etc/shells 파일을 열어 보면 현재 사용할 수 있는 쉘들의 경로가 설정되어 있다.

cat /etc/shells

/bin/sh
/bin/bash
/sbin/nologin
/bin/tchs
/bin/csh
/bin/ksh
 
bourne 쉘 계열의 쉘

1. sh (bourne shell)
가장 기본적인 쉘로 유닉스의 초기부터 사용되어 온 쉘입니다. 스크립트를 지원합니다.
 
2. ksh (korn shell)
본 쉘을 확장한 쉘입니다. 본 쉘의 명령어를 모두 인식하며, 명령어 히스토리(history) 기능과 앨리어스(alias), 작업 제어 등의 기능이 추가되었습니다. 일반적으로 유닉스에서 가장 많이 사용되는 쉘입니다. 명령행 편집기능을 제공합니다.
 
3. bash (Bourne Again Shell)
리눅스에서 가장 많이 사용하는 쉘입니다. C 쉘과 콘 쉘의 장점을 결합하여 작성되었으며, Bourne 쉘 문법의 명령어 셋을 제공하여 Bourne Shell과 호환되는 쉘로 GNU 프로젝트에 의해 만들어지고 배포됩니다. 명령행 편집기능을 제공합니다.
 

C 쉘 계열의 쉘

1. csh (C Shell)
명령행 편집기능을 제공하지 않습니다. C 언어 위주의 쉘로 처음 작성되었을 때에는 본 쉘이 가지고 있지 못한 기능들(작업제어, 명령어 히스토리 등)을 가지고 있었기 때문에 많이 사용되었습니다.
 
2. tcsh (TC Shell)
csh의 기능을 강화한 쉘입니다. 확장 C Shell. 명령행 편집 기능을 제공합니다.
 


반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band