새소식

자격증/리눅스마스터

[LINUX] 리눅스 마스터 2급 기출 :: Shell (bash, csh, tcsh, ksh)

  • -

Shell?

  • 커널과 사용자를 이어주는 통로 역할
  • 하나의 명령어 처리기
  • 사용자와 운영 체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 이러한 이름이 붙음
  • CLI 형태와 GUI 형태 2가지로 존재

 

톰슨 셸 (sh)

  • 최초의 Unix shell
  • 켐 톤슨이 멀틱스 셸을 따라 모형화 한 것

 

Bourne shell (본 셸, 줄여서 sh)

  • 처음으로 유닉스 셸에서 파생한 shell
  • 유닉스 버전7의 기본 shell
  • 톰슨 셸을 대체하는 셸로서 실행파일 이름이 sh로 같음
  • 벨 연구소의 스티븐 본(Stephen Bourne)이 개발, 1977년 발표

 

csh

  • 본 셸의 뒤를 이어 등장한 셸
  • 셸 스크립트를 작성하는 언어가 c와 닮아서 csh
  • 빌 조이에 의해 작성

 

tcsh (tc shell)

  • csh의 뒤를 이어 나타난 셸
  • C 셸의 기능에다 명령어-완성(command-completion)기능을 추가시켜 만든 퍼블릭 도메인 버전
  • 다른 셸들과 달리 스크립트 안에 함수 정의 불가

 

ksh (korn shell)

  • 벨 연구소의 데이비드 콘이 개발, 1983년 발표
  • 명령행 편집기능 제공

 

bash (Bourne-again shell)

  • ksh과 csh의 장점 차용
  • GNU 프로젝트를 위해 'Brian Fox' (브라이언 폭스) 가 작성한 쉘
  • 명령행 편집기능 제공
  • 대부분 sh와 호환

bash 시작 파일 실행 순서

로그인 셸 시작

  • /etc/profile 존재 여부 확인하여 있으면 실행 (내부적으로 /etc/bash.bashrc 호출)
  • ~/.bash_profile, ~/.bash_login, ~/.profile을 순서대로 찾아서 존재하면 실행

로그인 셀 빠져나갈 때

  • ~/.bash_logout 존재하면 실행

상호작용 셸로 시작할 때

  • /etc/bash.bashrc, ~/.bashrc를 순서대로 읽고 실행(존재하면)

 

chsh 명령어

  • 사용자 로그인 shell 속성 변경
  • 해당 속성은 /etc/passwd에 저장
# bash 로 변경
chsh -s /bin/bash
# /etc/shells 안에 지정된 셸 출력
chsh -l
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.