쉘 이름 | 실행 명령 | 명령 |
---|---|---|
Bourne Shell sh | sh | 유닉스 초기부터 사용된 쉘로 대부분의 유닉스 계열 운영체제에서 지원한다. 많은 쉘 스크립트가 이에 기반을 두고 있다. |
C Shell | csh | 스크립트 작성 형식이 C언어 구문과 비슷하며 BSD 계열의 유닉스 사용자들이 많이 사용했다. Bourne 쉘의 기능을 확장했다. |
TC Shell | tcsh | C 쉘을 확장 개선한 버전으로 '명령 행 완성'과 '명령 행 편집' 기능이 추가됐다. |
Korn Shell | ksh | 호환성을 유지하면서 Bourne 쉘을 확장하고 C 쉘의 많은 기능을 추가했다. System V 계열 유닉스 사용자들에게 인기가 많았다. |
Bourne Again Shell(bash) | bash | 리눅스에서 가장 많이 사용되는 쉘이다. Bourne 쉘을 토대로 개발됐으며 C 쉘과 Korn 쉘의 유용한 기능을 가져왔다. GPL 라이센스를 따른다. |
로그인 쉘은 로그인할 때 수행되는 기본 쉘이다. 로그인 쉘은 logout 명령으로 로그아웃하여 쉘을 종료할 수 있다.(비 로그인 쉘에서는 logout 명령을 사용할 수 없다.) 텍스트 모드에서 사용자 계정으로 로그인할 때 수행되는 쉘이 로그인 쉘이다. 또한 다른 사용자 계정으로 전환하는 su -l username 명령으로 수행되는 서브 쉘도 로그인 쉘이다. -l 옵션은 지정된 사용자의 로그인 쉘을 시작하는 옵션이다.
말그대로 로그인 쉘이 아닌 쉘이다. logout 명령이 아닌 exit 명령으로 쉘을 종료한다. GUI 환경(그래픽 모드)에서 터미널을 띄우면 수행되는 쉘이 비 로그인 쉘이다. 또한 다른 사용자 계정으로 전환하는 su username 명령으로 수행되는 서브 쉘도 비 로그인 쉘이다.
현재 쉘 안에서 실행되는 쉘이다. 현재 쉘의 자식 프로세스로 실행된다. exit 명령으로 서브 쉘을 종료하고 부모 쉘로 돌아간다. 서브 쉘은 부모 쉘의 환경 변수를 전달받아 공통적으로 사용할 수 있다. 예를 들어 현재 쉘에서 sh 명령으로 bourne 쉘을 실행할 수 있는데, 이렇게 실행된 쉘을 서브 쉘이라고 한다.
옵션 | 내용 |
---|---|
-l | 사용 가능한 쉘을 나열(/etc/shells 파일 내용과 동일) |
-s | shell 로그인 쉘 변경 |
ex: | chsh -s /bin/tcsh |
-u | 도움말(usage) |