쉘 ( Shell )
Shell
- 명령어 해석기로써 실행코드만 해석하여 kernel에 넘겨준다.
- 명령어 오류, 해독 모두 쉘에서 처리.
- bash : 본 쉘을 기반으로 하여 GNU 프로젝트에 의해 개발된 것으로, GNU 운영체제, 리눅스, 맥 OS X 등 다양한 운영체제에서 사용(리눅스에서 사용하는 표준 쉘)
- C 쉘 : 버클리 대학의 빌 조이가 개발한 것으로 C언어를 기반으로 만들어짐.
쉘 관련 파일 & 디렉토리
- /etc/bashrc : 시스템 전체에 적용되는 alias 및 함수 설정.
- .bash_profile : 사용자의 환경 설정과 시작 프로그램 설정과 관련 -> 로그인시 읽어들임.
- .bashrc : 사용자가 지정한 alias와 함수들이 들어있는 파일.
- .bash_logout : 사용자 로그아웃시 수행하는 설정작업 지정.
- /etc/profile : 시스템 전체에 적용되는 환경변수와 시작관련 프로그램 설정.
- /etc/profile.d : 응용프로그램 시작에 필요한 스크립트가 위치하는 디렉토리.
echo
- 현재 사용중인 쉘 확인.
- 형식 : echo $SHELL
- 시스템에 로그인한 후 현재 시스템에서 사용중인 쉘 확인.
chsh
- 쉘 변경 및 정보.
- 사용자에 따라 쉘의 선택을 변경할 수 있다.
- 형식 : chsh [옵션]
* -l : 리눅스에서 사용할 수 있는 쉘의 정보를 보여줌(# cat/etc/shells 를 사용해도 같은 의미)
쉘의 환경변수
- 쉘의 환경을 설정하는데 필요한 변수들을 의미.
- 변수명은 미리 그 뜻과 용도가 구분된 예약어를 사용하며, 대문자로 구성.
* DISPLAY : 현재 X윈도 디스플레이 위치.
* HOME : 사용자의 홈 디렉토리 지정.
* PATH : 실행파일을 찾는 디렉토리 경로 설정.
* LANG : 쉘 사용시 기본적으로 지원되는 언어.
* TERM : 로그인한 터미널 종류.
* PWD : 사용자의 현재 작업 디렉토리.
* SHELL : 사용자의 로그인 쉘.
* USER : 사용자의 이름.
* PS1/PS2 : 프롬프트 설정/ 2차 프롬프트 설정.
* HISTFILE : 히스토리 파일의 절대 경로.
* HISTSIZE : 히스토리 파일의 크기(명령어를 몇 개까지 기록할거니?).
* HISTFILESIZE : 히스토리 파일사이즈 표시 및 설정.
* MAIL : 도착한 메일이 저장되는 경로.
* TMOUT : 사용자가 로그인한 후 일정시간동안 작업하지 않을 경우 로그아웃되는 시간.
env
- 쉘의 전체 환경변수 설정확인 명령.
- 현재 설정된 전체 환경변수 설정 값 확인.
- 형식 : env
* tail : 끝에서부터 보고 싶은 리스트의 갯수를 의미한다. 사용시 "tail -5"로 사용한다. (독립적으로 사용이 불가능하며, 파이프[ | ]를 이용해서 사용이 가능하다.)
환경변수의 값 변경 방법
- 그냥 세팅하면 1회성이고,
export PATH=$PATH :/usr/test2를 하면 쉘이 종료된 후에도 PATH에 설정한 내용이 유지된다.
환경변수 - 로케일 언어 변경하기
- 시스템 기본 로케일 설정은 /etc/default/locale을 수정하면 된다.
- 로케일 언어 변경은 LANG="변경하고자 하는 언어"로 설정이 가능하다.
ex) LANG=C -> C언어로 언어 변경해줘.
- locale -a : 운영체제에서 사용할 수 있는 로케일 정보를 볼 수 있다.
- locale-gen "지역 언어명"으로 로케일을 추가 할 수 있다.
ex) locale-gen ko_KR.UTF-8 -> 한국어가 깨지지않게 locale을 등록하되 UTF-8방식으로 저장한다.
프롬프트 설정 방법
- \d : 날짜표시.
- \h : 호스트 이름 표시.
- \t : 현재 시간 표시(24시간제).
- \T : 현재 시간 표시(12시간제).
- \u : 현재 사용자의 이름 표시.
- \W : 현재 작업 디렉토리의 마지막 디렉토리 표시.
- \w : 현재 작업 디렉토리의 절대경로 표시.
histoy
- 사용자가 실행한 명령어 확인.
- 리눅스 기본 쉘 bash는 실행한 모든 명령을 히스토리 버퍼에 저장.
- history 명령 이용하면 이들 버퍼에 있는 명령들이 출력.
- 형식 : history [숫자 값] : 가장 최근에 실행한 명령부터 숫자만큼 보여줌.
- 사용자들이 실행한 명령들은 사용자 홈 디렉터리 안에 .bash_history파일에 기록한다.
- 로그아웃할 때 메모리에 기억된 명령의 목록을 파일에 저장한다.
- 스택 구조로 저장됨.
* !! : 마지막에 사용한 명령어 실행.
* !숫자 : 지정한 숫자 번째 사용한 명령어 실행(!5 -> 5번째 사용한 명령어 실행).
* !-숫자 : 현재시점에서 숫자 이전 명령어 실행.
* !문자열 : 가장 최근 명령어 중 해당 문자열로 시작하는 명령 찾아서 실행.
!ex -> 최근 명령 중 ex로 시작하는 명령어 찾아서 실행.
* !?문자열? : 가장 최근 명령어 중 해당 문자열 포함하는 명령 찾아서 실행.
!?ex? -> 최근 명령 중 ex문자열 포함하는 명령어 찾아서 실행.
* ^문자열|^문자열2 : 마지막 사용한 명령어의 ‘문자열1’을 ‘문자열2’로 변경한 후 실행.
alias / unalias
- 복잡한 명령어 대신 rkserks하게 별칭 명령어 등록해놓고 사용할 수 있다. -alias.
- 별칭 명령어 해제 작업.
- 형식 : alias [별칭=‘명령어’] / unalias 별칭
'IT > Network' 카테고리의 다른 글
[ Linux 마스터 2급 ] 리눅스 편집기 (0) | 2019.07.21 |
---|---|
[ Linux 마스터 2급 ] 리눅스 프로세스 관리 (0) | 2019.07.20 |
[ Linux 마스터 2급 ] 리눅스 권한부여, 설정 명령어 (0) | 2019.07.18 |
[ Linux 마스터 2급 ] 리눅스 운영과 파일 시스템 (0) | 2019.07.17 |
[ Linux 마스터 2급 ] 네트워크 명령 및 기타 명령어 (0) | 2019.07.14 |