시스템 관리 및 실습 #9
1. 현재 시스템에서 제공하고있는 shell 종류와 특징 검색하여 요약
- shell의 종류
쉘 이름 쉘 설명
Bourne Shell AT&T 벨 연구소의 스티브 본(Steve Bourne)이 개발하여 AT&T 기반의 시스템에 제공된 오리지널 UNIX셸이다. 프로그래밍을 하는 데 권장되는 셸이며 시스템 관리자 계정인 슈퍼유저(root)는 운영체계를 설치할 때 기본값으로 정의되어 있다. 일반 사용자의 기본 프롬프트는 $ 모양이며, 관리자 계정인 경우에는 # 모양이다
C Shell 캘리포니아 버클리 대학에서 빌 조이(Bill Joy)가 개발한 셸이다. C 언어를 기본으로 하며, Bourne Shell보다 History, Alias, Job Control과 같은 몇몇 장점을 더 가지고 있다. 일반 사용자으 기본 프롬프트는 호스트 이름뒤에 % 표시가 붙은 모양이다.(hostname%)
Korn Shell AT&T 벨연구소의 데이비드 콘(David Korn)이 개발했다. Bourne Shell의 기능에 C Shell의 몇몇 유용한 기능을 추가한 것이다. Bourne Shell로 작성된 스크립트와 프로그램은 Korn Shell에서 바로 사용할 수 있다. 일반 사용자의 기본 프롬프트는 $ 모양이다.
BASH
(GNU Bourne-Again Shell)
FreeSoftwareFoundation이 개발한 bash(BSD)는 C Shell이나 Korn Shell에 추가된 유용한 특성을 Bourne Shell에 추가하여 개선시킨 셸이다.
TC Shell 코넬 대학에서 C Shell 수정본에 Korn Shell의 기능을 포함하여 개발된 셸이다. 95%의 C Shell과 5%의 새로운 기능이 추가되어 만들어졌다.
Z Shell Korn Shell과 매우 유사한 셸이지만 Korn Shell보다 더 많고 유용한 기능 등을 추가하여 개선시킨 것이다.
2. 각 shell 이 참조하는 파일들을 나열하고 접근 순서 정리
- 참조하는 파일들
쉘 이름 명령어 참조 파일
Bourne Shell sh .profile
C Shell csh .cshrc .login
Korn Shell ksh .profile .kshrc
Bourne Again Shell bash .bash_profile .bashrc
- 접근 순서
쉘 이름 접근 순서
sh 1) /etc/profile --> 2) $HOME/.profile
ksh 1) /etc/profile --> 2) $HOME/.profile -->3) $HOME/.kshrc
여기서 .kshrc 가 제대로 동작 하기 위해서는 만드시 $HOME/.profile 안에 export ENV=.kshrc 라고 설정이 되어 있어야만됨.
csh 1) /etc/.login --> 2) $HOME/.cshrc --> 3) $HOME/.login
zsh 1) /etc/zshenv --> 2) /etc/zprofile --> 3) /etc/zshrc --> 4) /etc/zlogin --> 5) $HOME/.zshenv --> 6) $HOME/.zprofile --> 7) $HOME/.zlogin --> $HOME/.zshrc
bash 1) /etc/profile --> 2) $HOME/.bash_profile --> 3) $HOME/.bash_login --> 4) $HOME/.profile --> 5) $HOME/.bashrc
tch 1) /etc/csh.cshrc --> 2) /etc/csh.login --> 3) $HOME/.tcshrc --> 4) $HOME/.cshrc --> 5) $HOME/.login --> 6) $HOME/.tcshrc 또는 $HOME/.cshrc
3. bash, csh에서 프롬프트를 바꾸는 실습을 진행하고 실습한 내용을 2가지이상 나열
- Korn Shell
  $vi .profile
  PATH=$PATH:/usr/bin:/usr/bin:/usr/local/bin:.
  alias ls='ls -IF'
  PS1=PS1="[|u@|h ||]||$"
  export PS1 PATH

- C Shell
  $vi .cshrc
  set path=(/usr/bin /bin/usr/ucb/usr/local/bin .)
  set history=30
  alias a alias
  a ls 'ls -aF'
  a setprompt 'set prompt="[$USER@'hostname' 'pwd']"$'
  setprompt

- Bash Shell
  #vi .bashrc
  stty istrip
  PATH=/usr/bin:/usr/sfw/bin:/usr/local/bin:/usr/sbin:/usr/ucb:/etc:.
  export PATH

  TERM=ansi

  PS1="[\u@\h\w]$ "; export PS1
  set +o allexport
  stty erase ^H
  stty -istrip cs8
  alias ls='ls -pF'
4. shell 환경변수 확인하기


- bash 환경변수 설명
  BASH : 사용되고 있는 bash 쉘의 종류
  BASH_VERSION : bash 쉘의 버전
  COLUMNS : 터미널의 행수
  ENV : 환경 지정 파일(.bashrc_profile)의 위치
  HISTFILE : 히스토리 파일의 경로
  HISTFILESIZE : 히스토리 파일의 크기
  HISTSIZE : 히스토리 갯수
  HOME : 기본 작업 영역
  HOSTNAME : 호스트 이름
  LINES : 터미널의 라인수
  LOGNAME : 사용자 이름
  LS_COLORS : 파일 종류별로 색상 지정
  MAIL : 메일 보관 경로
  MAILCHECK : 메일 확인 시간
  MANPATH : 매뉴얼 경로
  OSTYPE : 운영체제 타입
  PATH : 실행 파일의 검색 경로
  PWD : 현재 위치
  SHELL : 쉘의 경로
  SHLVL : 쉘의 레벨
  TERM : 터미널 종류
  USER : 사용자
  USERNAME : 사용자 이름
 
맨위로
1.시스템에서 제공하고있는 shell 종류와 특징
2.각 shell 이 참조하는 파일들을 나열하고 접근 순서
3. bash, csh에서 프롬프트를 바꾸는 실습내용
4.shell 환경변수
 
맨아래로
이동