Shell   쉘, 셸

(2019-08-12)

Bourne shell, Korn shell, C shell, bash, Shell Script, 쉘 스크립트, 셸 스크립트

1. 쉘 (Shell) 이란?

  ㅇ 영어 뜻으로는,
     - 양파 껍질 처럼 껍데기를 의미
        . 例) 원자 껍질(Atomic Shell) 등

  ㅇ 컴퓨터 상의 쉘(Shell)은,
     - 운영체제 커널과 사용자 간의 인터페이스 역할(다리 역할) 수행

     - 일종의 명령어 줄 해석기 (Command Line Interpreter)                     ☞ CLI 참조
        . 사용자가 키보드 단말장치를 통해 입력시킨, 명령어 라인을 읽고서,
        . 필요한 시스템 기능을 실행시키거나, 이를 다른 프로그램에게 넘겨서 실행시키는,
        . 작은 프로그래밍 환경 처럼 행동하는 명령어 해석기

  ㅇ 쉘 스크립트(Shell Script)는,
     - 일련의 쉘 제공 명령어,기능 등을 이용하여 프로그래밍하고, 저장 가능한 텍스트 형태의 파일


2. [윈도우즈]  쉘

  ㅇ 특징
     - 윈도우즈커맨드 라인 유틸리티(command-line Utilities)들을 실행하고 도움을 주는,
     - 커맨드 라인 쉘(command-line Shell)

  ㅇ 크게, Command Shell(cmd) 과 PowerShell 이 있음
     - Command Shell(cmd) : command.exe를 통해 비교적 간단하게 윈도우 명령어들을 실행 가능
     - PowerShell : 태스크 위주의 커맨드 라인 쉘 (프로그래밍 가능 스크립트 언어)
        . 강력한 유닉스 쉘에 대응하기 위해 MS社 개발


3. [Unix/Linux]  유닉스유닉스에서 사실상 쉘은,
     - 커널의 일부분이 아니라 일종의 사용자 프로세스로써,
     - 개인화된 쉘이 만들어지기도 함

  ㅇ 시스템 관리자는, 
     - 사용자 계정을 부여(사용자의 등록)할 때, 해당 사용자에게 적정한 쉘을 선택하여 줌
        . UNIX에서 암호화일(/etc/passwd)의 마지막 부분에서 어떤 쉘을 선택했는지 알 수 있음
     - 사용자가 로그인을 하면, 정해진 쉘이 자동적으로 실행됨

  ㅇ 특징 : 간결성, 강력함


4. [Unix/Linux]  유닉스 쉘 종류

  ㅇ Bourne shell
     - 최초의 쉘, 대부분의 쉘이 이로부터 파생.  별칭이나 히스토리 기능이 없음.
        . 위치 : /bin/sh,  프롬프트 : $,  사용 버젼 : UNIX version 7

  ㅇ Korn shell
     - Bourne 쉘의 상위 버젼. Bourne 쉘 및 C 쉘의 좋은 특성들을 결합. 
        . 위치 : /bin/ksh,  프롬프트 : $

  ㅇ C shell 
     - 대화형 작업에 강점을 지님
        . 위치 : /bin/csh,  프롬프트 : %,  사용 버젼 : 4.3 BSD

  ㅇ bash (Bourne Again shell) 
     - Bourne shell 문법을 모두 만족하며 동시에 C shell 일부분도 포함한 보다 발전된 쉘
        . 위치 : /bin/bash, /bash/sh  프롬프트 : $,  사용 버젼 : Linux
        . root 계정 사용자가 사용하는 쉘        


5. [Unix/Linux]  유닉스 쉘 내부 명령어(shell builtin command)들

  ㅇ bg, bind, break, builtin, cd, command, continue, declare, dirs, disown, echo,
     enable, eval, exec, exit, export, fc, fg, getopts, hash, help, history, jobs,
     kill, let, local, logout, popd, printf, pushd, pwd,... 등


6. [Unix/Linux]  기타사항

  ㅇ 쉘의 종료 : Ctrl + D (^D)
     - 쉘은 입력의 끝으로 보고 쉘을 종료
     - logout 과 같은 효과

  ㅇ 쉘 변경 및 확인 : chsh


[UNIX 일반] 1. UNIX 2. BSD 3. CDE 4. cron 5. inetd 6. POSIX 7. Runlevel 8. UUCP 9. X 윈도 시스템 10. 데몬 11. 루프백 12. 쉘,셸 13. Timestamp,Epoch 14. locale

 
        최근수정     요약목록     참고문헌