셸이란?
- 명령어 해석기로 커널과 사용자 간의 대화식 인터페이스를 제공.
- 로그인할 때 실행되어 사용자별로 사용 환경 설정을 가능하게 함.
- 강력한 스크립트 언어로 입출력 방향 재지정가 파이프 기능을 제공.
- 포그라운드/백그라운드 프로세스를 실행.
셀의 종류
- 본셸계열과 C셸 계열로 나뉨.
- 사용자 프롬프트가 $이면 본셸계열, %면 C셸 계열을 사용하고 있다는 것.
- 대부분의 셸은 본셸 계열의 기능을 포함하여 확대 발전한 형태.
셸 확인 및 변경
- 사용자가 로그인 후 자동으로 생성되는 로그인 셸과 사용자가 직접 변경하는 서브 셸로 구분.
- 명령어 'echo $SHELL'로 현재 로그인한 사용자가 사용하고 있는 셸 확인 가능.
- 로그인 셸 변경은 반영구적인 셸 변경 방법으로 관리자가 셸 변경 후 다음 변경을 하기 전까지 지정 셸 사용.
명령어 chsh로 일반 사용자 환경에서 셸 변경 가능. - 명령어 usermod로 관리자 환경에서 지정된 계정의 정보 변경 가능.
환경 변수와 셸 변수
환경 변수(전역 변수) | 셸 변수(지역 변수) |
전체 셸에서 사용 가능한 전역 변수 서브 셸에 기능 상속 가능 환경 변수 확인 명령: env |
현재 로그인 셸에서만 사용 가능한 지역 변수 서브 셸에 기능 상속 불가능 셸 변수 확인 명령: set |
주요 환경 변수
변수 | 기능 |
PATH | 실행항 명령어 경로 검색, 셸 설정 파일 중 하나에 설정 |
HOME | 사용자의 홈 디렉터리 절대 경로 |
HOSTNAME | 호스트명 |
USER | 사용자 이름 |
PWD | 현재 디렉터리의 절대 경로명 |
환경 변수 설정
명령어 | 설명 |
export | 환경 변수 리스트 확인 |
export 변수명 = 변수값 | 해당 변수명 값에 변수값 등록, 셸 변수를 환경 변수로 변경 |
echo $변수명 | 변수명에 해당하는 환경 변수 값 확인 |
export 변수명 = $변수명:변수값 | 기존 변수명에 변수 값 추가 |
unset 변수명 | 변수 정의 해제 |
환경 설정 파일
- 배쉬 셸의 시작 파일은 /etc/profile, /ect/bashrc, ~/.bash_profile, ~/.bashrc
- 전역적 파일에는 사용자에게 공통으로 영향을 주는 내용이 들어 있으며 /etc 아래에 위치.
- 지역적 파일은 사용자 개개인을 위한 설정 내용이 들어 있으며 사용자 홈 디렉터리에 숨김 파일 형태로 위치.
- 디렉터리 /etc/profile.d은 몇몇 응용 프로그램들이 시작 시 자동 실행할 스크립트 파일 경로를 넣어둠.
Bash shell의 주요 기능
History 기능
일정 개수(기본 1,000개) 이상 사용했던 명령어를 .bash_history에 저장해 두고 다시 불러서 사용할 수 있게 하는 기능.
이전에 입력했던 명령어들을 다시 입력하지 않아도, 상하 화살표 키만 누르면 다시 사용할 수 있음.
Alias 기능
자주 사용하는 명령어를 특정 문자로 입력해 두고 간편하게 사용할 수 있게 하는 기능.
'DevOps&Infra > Linux' 카테고리의 다른 글
02-4 에디터 (0) | 2022.09.12 |
---|---|
02-3 프로세스 관리 (0) | 2022.09.12 |
02-1 파일 시스템 관련 명령어 (0) | 2022.08.28 |
01-3 리눅스의 기본 명령어(3) (0) | 2022.07.30 |
01-3 리눅스의 기본 명령어(2) (0) | 2022.07.30 |