[리눅스] 리눅스 쉘을 종류(sh, zsh, csh, bash, tsh)
안녕하세요 오늘은 리눅스의 쉘의 종류에 대해 알아보겠습니다.
리눅스 쉘의 종류
1. Bourne shell (sh)
- 본쉘은 1974년 Stephen Bourne이 계발 하였습니다. 이 본쉘은 1977년 부터 사용되서 현재 까지도
많은 사랑을 받고 있다고 합니다. 하지만 만들어진지 오래되었을만큼 없는 기능도 많습니다.
본쉘에 없는 기능 몇가지 알아보겠습니다.
본쉘에 없는 기능
1. 자동완성기능 : 자동 완성 기능은 저희가 리눅스 쉘을 이용할때 제가 생각하기로 가장 많이 사용하는
기능 인것 같습니다. 하지만 옛날에는 이것을 쓸수 없었다니.....
2. 명령어 라인 수정 기능 : 이 기능은 저희가 방향키로 틀린 글자를 바로바로 수정 할수있게 도와주는것 입니다.
하지만 그때는 방향키도 없었다고 하네요 ㅎㅎ
3. 명령 히스토리 : 저희 리눅스에서 현재에는 history라는 명령어를 치면 저희가 썼던 명령어들을 한번에
볼수있습니다. 하지만 본쉘로는 할수 없다고 하네요.
이번에는 본쉘이 잘한것은 무엇일까요?
1. 프롬프트프롬프트가 뭔지 먼저 설명 드리면, 사용자와 상요작용을 하기 위한 쉘같은 것을 말하는것 입니다.본쉘이 프롬프트에서 무엇을 잘했냐면, 본쉘은 저희가 지금 쓰고 있는 프롬프트에 밑 바닥을 다 깔아주었습니다.본쉘은 프롬프트 모양이라는것을 만들었습니다. 그니까 다시말하면 root는 # 이모양, 일반사용자는 $이 모양으로 노출 시켰습니다. 이해가 잘안되시면 집적 쉘을 켜보시는것을 추천!
2. 수행 기본 단위수행 기본 단위라는것은 쉘에 저희가 입력한것이 몇줄씩 실행될지를 말합니다.지금은 당연하지만 본쉘은 한줄 씩 실행되는 걸 사용했습니다.
3. 스크립트 본쉘이 지금 까지 살아 남을 수있던이유가 이것 때문 일지도...? 라고 생각 할만큼 잘만든 것 입니다.저희는 쉘 스크립트를 자주 사용합니다. 이때 본쉘은 다른 라이브러리 같은것을 사용하지 않습니다.하지만 본쉘에 있는 기능으로 만으로도 저희는 쉘 스크 립트를 다 짤수 있습니다.
2. z shell(zsh)
- zsh는 Paul Falstad가 1990년 대학교 재학중일때 최초 버전을 만들었습니다.
이 zsh는 다른쉘(bash, tcsh, ksh)의 기능을 포함한 Bourne shell이라고 할수있습니다.
그럼 zsh의 기능을 알아보겠습니다
1. 플러그인 과 테마
zsh는 풍부한 플러그인과 테마를 지원합니다. 그래서 개발자들은 자기 적성에 맞게
쉘을 커스터 마이징 할수있습니다.
2. 자동 완성 기능
본쉘에는 없었던 자동완성 기능이 생겼습니다.
3. 커스마이징 기능
여러가지 옵션과 사용자가 정의 가능한 환경을 제공 해줍니다.
3. C shell(csh)
- csh는 1978년 bill joy가 개발한 쉘 입니다. 이것은 본쉘의 기능을 더욱 강력하게 해가지고
출시한 쉘 입니다. 이름에서도 알수 있듯이 c 언어로 만들어 졌습니다.
C shell이 잘한것은 무엇 일가요?
1. c 언어
c shell의 명령어의 문법은 C언어와 매우 비슷합니다. 그래가지고 C언어 만 알면 csh를 금방
배울수 있습니다.
2. 작업 관리 기능
백그라운드에서 실행중인 프로그램들을 제어 할수있습니다.
하지만 C sh는 문법이 복잡하고 확장성등이 떨어집니다. 그래서 지금 같은 경우에는
Csh를 사용하지 않습니다.
4. tee - see - shell(tsh)
- tsh는 1983년 카네기 멜런 대학교 팀 이 제작을 하였습니다. 이 tsh는 Csh의 기능을
보안하고 추가한 버전 이라고 생각하셔도 됩니다.
5. Bourne-again shell(bash)
현재 가장 많이 쓰이는 쉘이라고 해도 무방하다. bash는 거의 모든 운영체제에서 기본 쉘로
채택 되었다. 위에서 말한 기능을 거의 모두 가지고 있으며 현재 최고의 쉘이라 불린다.