Shell 이란? 리눅스 커널과 사용자 간의 가교 역할을 하는 소프트웨어로 본쉘, C쉘, 콘쉘, bash, dash 등 다양한 쉘이 있다. 일반적으로 우분투의 경우 사용자는 bash 쉘, 시스템은 dash 쉘을 사용하도록 기본 설정되어 있다.
* 사용자 쉘 확인
echo $SHELL cat /etc/passwd |
* 시스템 쉘 확인
ls -l /bin/sh |
* 사용자 쉘 변경
/etc/passwd 파일의 내용을 수정하거나 chsh(change shell)명령을 이용한다. 변경후엔 재시작을 해야 적용된다.
* 사용 가능한 Shell 목록 확인
cat /etc/shells |
Shell은 크게 3가지 역할을 한다. (1. 명령어 해석기 기능, 2. 프로그래밍 기능, 3. 사용자 환경 설정 기능) Shell 의 종류에 따라 차이가 있으나 대개의 경우 shell 실행 후 사용자에 맞는 환경을 구성할 수 있도록 초기화 파일을 제공한다. 따라서 새롭게 로그인 할 때 마다 적용하고 싶은 명령이나 변수, 설정 등이 있다면 해당 파일에 적어 놓으면 된다. 초기화 파일은 크게 2가지로 시스템 환경 설정 파일과 사용자 환경 설정 파일로 나눌 수 있다. 시스템 환경 설정 파일은 전 사용자 공통 환경 설정 파일이며 /etc/ 에 위치한다. 사용자 환경 설정 파일은 개별 사용자의 환경을 설정하며 해당 사용자의 홈 디렉터리에 있다. 대표적인 bash shell의 환경 설정 파일은 아래와 같다.
* 시스템 환경 설정 파일
/etc/profile | 각 파일, 디렉터리의 존재 유무를 확인후 실행한다. (/etc/bash.bashrc, /etc/profile.d/*.sh 실행) |
/etc/bash.bashrc | 시스템 공통으로 적용되는 .bashrc 파일 (bash run commands) |
/etc/profile.d/*.sh | 필요한 설정 파일을 추가한다. |
* 사용자 환경 설정 파일
~/.profile | .bashrc 와 같은 다른 환경 설정 파일들의 실행, PATH 추가한다. |
~/.bashrc | 환경 변수, alias, function 등을 설정한다. |
~/.bash_logout | 로그 아웃시 실행할 함수 등을 설정한다. |
환경 설정 파일을 수정한 후 적용하기 위해선 source "환경 설정 파일" 또는 . "환경 설정 파일" 을 사용한다.
'개발 > linux' 카테고리의 다른 글
[번역] 라즈베리파이 커널 빌드 방법 (0) | 2021.11.27 |
---|---|
리눅스 역사 (0) | 2021.11.23 |
vi 사용법 (0) | 2020.06.16 |
하드링크, 심볼릭링크 개념 및 사용법 (0) | 2020.06.02 |
리눅스 명령어 약자 확인하기 (0) | 2020.05.28 |