| 시스템 관리 및 실습 #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 : 사용자 이름 |