1. 쉘 종류
chsh -l
# /bin/sh
# /bin/bash
# /usr/bin/sh
# /usr/bin/bash
2. 쉘 관련 환경파일
2-1. 사용자에 따른 환경설정 파일
2-1-1. 관리자가 일반 사용자의 환경을 설정 시켜 주는 경우
- /etc/profile : 로그인 할 때만 읽혀짐
- /etc/bashrc : 쉘이 실행 될때 마다 읽혀짐
- /etc/profile.d/*.sh : 쉘이 실행 될때 마다 읽혀짐
2-1-2. 일반 사용자가 자신의 환경을 설정 하는 경우
- $HOME/.bash_profile : 로그인 할 때만 읽혀짐
- $HOME/.bashrc : 쉘이 실행 될때 마다 읽혀짐
2-2. 환경설정 파일 실행 순서
2-2-1. 로그인
|─────────로그인──────────|──────쉘 실행 ──────|
/etc/profile -> $HOME/.bash_profile -> $HOME/.bashrc -> /etc/bashrc
/etc/profile.d/*.sh
① ② ③ ④
① : 시스템을 사용하는데 필요한 환경 변수 내용(모든 사용자에 적용되는 내용)들이 설정되어 있다.
② : 계정이 필요한 환경 변수 내용(해당 계정에만 적용되는 내용)들이 설정되어 있다. 로그인 관련 배너 설정을 할 수 있다.
③ : 명령어를 자동으로 실행하기 위한 내용들이 설정되어 있다.
④ : 모든 사용자에게 적용되는 전역 변수 내용들이 설정되어 있다.
2-2-2. 로그아웃
$HOME/.bash_logout -> $HOME/.bash_history
① ②
① : 로그아웃할때 실행되는 파일이며, 로그아웃 관련 배너 설정을 할 수 있다.
② : 로그인 중에 실행했던 명령어들을 로그아웃할때 저장하는 파일이다.
[참고] .bash_history'파일과 'history' 명령어 차이점
- .bash_history 파일에는 로그인 중에 실행했던 명령어들을 로그아웃할때 저장하는 파일이다.
- 사용자가 로그인 하게 되면 사용자의 명령어를 저장하기 위해서 'history'를 위한 Stack 공간이 할당된다.
- 이때, Bash 쉘은 기본 1000개 명령어까지 저장할 수 있으며, sh 쉘은 history 기능을 지원하지 않는다.
- 'history -c'를 실행하면 history 정보는 삭제되지만, 다시 로그인하면 '.bash_history' 파일에 의해서 복구된다.
[참고] 'source'와 'bash' 스크립트 파일 실행 차이점
용도 | 사용 쉘 | 환경변수 유효성 | 'cd'로 명령어에 대한 경로 유지 | ||
source | 스크립트 파일 실행 | 현재 쉘 | 파일 밖에서 접근 가능 | 파일 밖에서 유지 가능 | |
bash | 새로운 쉘 | 파일 밖에서 접근 불가능 | 파일 밖에서 유지 불가능 |
3. 쉘 변수
3-1. 사용자 정의 변수
- 사용자가 임의로 만들어서 사용하는 변수이며, 로그아웃 또는 재부팅되면 내용은 사라진다.
- 만약, 로그인 중에 수동으로 삭제할 경우에는 unset 명령어를 사용한다.
- 이 때, 'set' 명령어로 확인은 가능하지만, 환경 변수로 등록을 하지 않았기 때문에 'env' 명령어로를 검색되지 않는다.
3-2. 환경 변수
- 환경 변수를 '.bash_profile'에 설정하면 다음 로그인 및 재부팅할때 사용할 수 있다.
- 변수 이름은 대문자를 사용하는 것을 권장하며, 'env' 명령어를 이용하여 확인할 수 있다.
- 'export' 명령어를 사용하여 사용자 정의 변수를 환경변수에 저장한다.
[참고] $HOME/.bash_profile 재실행
- '. .bash_profile', 'source .bash_profile', 'source ~/.bash_profile' 명령어를 이용하여 재실행해도 된다.
- 즉, 스크립트 파일을 실행하려면 점(.), source, sh, bash 명령어를 사용하면 된다.
'메가IT아카데미 국기과정 > 리눅스와 시스템보안' 카테고리의 다른 글
[1-9] 리눅스 디스크 파티션 (0) | 2022.09.11 |
---|---|
[1-8] 리눅스 프로세스 (0) | 2022.09.11 |
[1-6] 리눅스 퍼미션 (0) | 2022.09.11 |
[1-5] vi 편집기 (0) | 2022.09.11 |
[1-4] 압축 및 아카이빙 (0) | 2022.09.11 |