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


[UI] 1. UI 2. CLI 3. 셸 (shell) 4. 프롬프트 5. GUI 6. 윈도 매니저
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
      1.   전산기초일반
      2.   부팅
      3.   호스트
      4.   UI
        1.   1. UI
            2. CLI
            3. 셸 (shell)
            4. 프롬프트
            5. GUI
            6. 윈도 매니저
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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