본문 바로가기
Server (LInux & Windows)/리눅스(Linux) 공통

Linux와 Shell

by izen8 2014. 2. 22.
반응형

Linux와 Shell


리눅스 운영체제는 크게 커널, 쉘, 사용자 프로그램으로 분류할 수 있다.


- 커널(Kernel)


- 쉘(Shell)


- 사용자 프로그램





1. 커널(Kernel)

운영체제의 핵심

도스에서 IO.SYS와 MSDOS.SYS

모든 부분에서 여러 가지 기본적인 서비스를 제공

시스템의 하드웨어와 다양한 프로세스나 메모리 등을 관리

시스템을 제어


2. 쉘(Shell)

Operating System Command Interpreter

커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기

쉴은 커널과 직접적으로 연결

사용자가 로그인을 하면 자동으로 형성되어 명령어를 해석할 수 있는 상태로 만듬

사용자 프로그램에서 실행시킨 명령어를 해석하여 그 결과를 커널로 보내주는 역할을 함

쉘의 종류는 다양하나, 리눅스에서는 주로 bash(Bourne-Again Shell)을 사용


3. 사용자프로그램

일반적으로 리눅스에서 사용하는 프로그램

네트워크 서비스

아파치 웹서버

데몬이나 각종 소프트웨어 등


● 쉘(Shell)의 종류


1. Bourne Shell(sh)

1979년, Bell 연구소의 Steven Bourne이 개발한 최초의 대중화된 유닉스 쉘

가장 오랫동안 UNIX 시스템의 표준 구성요소

후에 개발된 쉘에 비하여 기능적인 명에서 부족

현재 리눅스에서 가장 많이 사용하고 있는 Bourn Shell의 변종인 Bash가 있음


2. Korn Shell(ksh)

Bourne Shell을 포함하는 더욱 강력한 쉘

강력한 명령어 편집기로 인해서 일반적으로 유닉스에서 많이 쓰임

AT&T 사의 David Korn이 제작

Bourne Shell의 기능들을 확장한 쉘

Bourne Shell과의 호환성이 높음

C Shell의 기능들도 제공


3. C Shell(csh)

버클리 대학교에서 개발됨

Bourne Shell과 호환이 되지만 인터페이스 구조가 다름

C언어 문법과 제어구조에 비슷한 면을 가짐

C Shell은 명령어 모드에서 다양한 기능을 제공

유닉스 실행 시의 기본 Shell로 주로 스이기도 함


4. TC Shell(tcsh)

1908년대 초반, Ken Greer 등이 C Shell을 확장시켜 제작

프리 소프트웨어로 많은 사람들이 사용

C Shell의 모든 기능을 제공

명령어 편집을 emacs 스타일 방식을 취함


5. Bourne Again Shell(bash)

현재 리눅스 시스템의 기본 Shell

가장 많이 이용

Bourne Shell의 기능을 추가, 발전

C Shell과 Korn Shell에서 제공하는 기능들도 상당수 포함

다른 쉘에 비해 쉽게 접근이 가능


반응형

댓글