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
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
      1.   운영체제(일반)
      2.   프로세스
      3.   윈도우즈
      4.   UNIX (LINUX)
        1.   UNIX 일반
          1.   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
        2.   UNIX 프로세스
        3.   메모리 관리
        4.   IPC
        5.   UNIX 장치
        6.   UNIX 파일시스템
        7.   UNIX 유틸리티
        8.   리눅스(Linux)
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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