2019. 3. 15. 21:00ㆍ개발로그/리눅스
[ 리눅스 마스터 2급 실기 ]
3.셸
2019-03-15
목록
1. 파일 유형 / 파일 허가권
2. 파일 시스템
3. 셸
4. 프로세스
5. 프로그램 설치
6. 프린트 / 스캐너
7. XWindow
8. Network
셸
본셸 계열 (Bourne Shell)
본셸 ( /bin/sh ) : 벨 연구소 스티븐븐이 개발 / 유닉스에서 기본 셸로 사용
콘셸 ( /bin/ksh ) AT&T사의 데이비드콘이 개발 / 본셸 확장
배쉬셸( /bin/bash ) GNU에 의해 개발, LINUX 표준 셸, 다양한 운영체제에서 사용, POSIX 와 호환 가능
지셸(/bin/zsh) : Paul에 의해 개발 / 강력한 History 기능
C셸 계열
C셸( /bin/csh ) : 버클리 빌조이가 1981년 개발 / C언어의 특징이 많이 포함
-tcsh셸( /bin/tcsh ) : Ken greer가 개발 / 확장 C셸로 BSD 계열에서 가장 많이 사용
*시험에서 배쉬셸과 Tcsh 셸에 관한 문제가 많음
셸 확인법
/etc/sheels : 사용할 수 있는 셸
/etc/passwd : 계정마다 할당된 셸
echo $SHELL : 현재 로그인한 사용자가 사용하고 있는 셸
셸 변경법
chsh : chsh [옵션] [계정명] 으로 사용
-s(shell) : 앞으로 사용할 로그인 셸로 지정
-l(List) : shells 파일안에 지정된 셸을 나열
**usermod(추가 옵션)
-s(shell) : 기존셀에서 새로운 셀로 변경 시 사용
환경 변수와 셀 변수
환경 변수(전역 변수)
전체 셀에서 사용 가능 / 서브 셀에서 상속 가능
환경 변수 확인 명령[env]
셸변수(지역 변수)
로그인 셸에서만 사용 가능 / 서브 셸에서 상속 불가능
셸 변수 확인 명령[set]
환경 변수 설정
export [환경 변수 리스트 확인]
export 변수명 = 변수값 [변수값 등록]
echo $변수명 [환경 변수값 확인]
export 변수명=$변수명:변수값[변수값 추가](시험에서 자주 나옴)
uset 변수명 [변수 정의 해제]
프롬프트 설정 형식(셸의 프롬프트형식을 임의대로 변경)
\t (time) : 시간 표시
\W (Where) : 현재 작업 디렉터리(마지막 경로)
\w (Where) : 현재 작업 디렉터리(절대 경로)
\s (shell) : 사용중인 셸 이름
\u (user) : 사용자 유저 이름
\h (host) : 호스트 이름
bash 셸 관련 설정 파일들 ( 전역 설정 파일 )
/etc/profile : 모든 사용자의 셸 환경을 제어.
> 관리자만 설정이 가능하며 모든 사용자에게 반영됨
/etc/bashrc : alias와 bash가 수행 시 실행되는 함수를 제어
> 생략되기도 하며 /etc/profile 내용이 포함되기도 함. 지역 설정 파일
(~은 home 디렉터리를 뜻함 home 으로 시작하는가 /으로 시작하는가로 구분)
~/.bash_profile : 개인 사용자의 셸 환경을 제어 / 로그인 시 로딩
~/.bash_history : 전에 입력했던 명령어의 재사용이 가능하게 됨
~/.bashrc : alias와 bash가 수행 시 실행되는 함수 제어
~/.bash_logout : 로그아웃 하기 전에 실행되는 파일
History
(사용했던 명령어를 .bash_history에 저장해두고 다시 불러서 사용할 수 있게하는 기능)
!! : 마지막으로 실행했던 명령문 실행
!n : n번째 명령어 실행
!-n : 현재 명령어에서 n 개수를 뺀 행의 명령어 실행
!문자열 : 최근에 "문자열" 로 시작하는 명령문 실행
!?문자열? : 최근에 "문자열" 을 포함하는 단어를 나타냄
History 관련 환경변수
HISTSIZE : 히스토리 스택의 크기 지정
HISTFILE : 히스토리 파일 위치
HISTFILESIZE : 물리적인 히스토리 파일 크기 (**중요)
HISTTIMEFORMAT : 히스토리 명령어 수행 시간 출력 형태 지정 (시험에 많이 나옴)
HISTCONTROL(중복 명령어에 대한 기록 유무 지정
alias
(명령어를 사용하기 쉽게 문자로 입력하고 씀)
alias 별명 = 명령어 정의 [새로운 별명 정의]
unalias 별명 = 지정된 명령어 해제
출처
개발공방
'개발로그 > 리눅스' 카테고리의 다른 글
리눅스-[#리눅스마스터 2급 실기] 5.프로그램 설치 (0) | 2019.03.16 |
---|---|
리눅스-[#리눅스마스터 2급 실기] 4.프로세스 (0) | 2019.03.15 |
리눅스-[#리눅스마스터 2급 실기] 2.파일 시스템 (0) | 2019.03.15 |
리눅스-[#리눅스마스터 2급 실기] 1.파일유형/파일 허가권 (0) | 2019.03.15 |
리눅스-[#리눅스마스터 2급 실기] 0.목록 (0) | 2019.03.15 |