1.쉘
- 사용자가 커널의 서비스 기능을 사용할수있도록 하기위한 통로, 사용자 인터페이스
- CLI 셸
- GUI 셸
2.리눅스 셸 역사
- 톰프슨 셸
- 본셸
- C셸
- 콘셸
- bash셸(최신)
3.리눅스 셸 특징
- 대화형 사용자 인터페이스
- 셸을 통해 커널의 기능사용
- 시스템 콜을 통해 규현
4.셸 유형
- 본셸
- C셸
5.셸 설정,확인
5-1.$echo $SHELL(현재 셸 확인 )
5-2.$cat /etc/shells(시스템 지원 셸목록 확인)
5-3.chsh -s 셸 (셸 변경)
5-4.cat /etc/psswd(특정사용자 셸 확인)
6.환경변수
6-1.echo (환경변수값 확인)
6-2.export (환경 변수값 설정,변경,추가정의)
6-3.export PATH=path:$PATH(환경변수값 새로운 값 추가)
7.환경변수 목록
7-1.HOSTNAME(시스템 호스트명)
7-2.OSTYPE(실행중인 운영체제 유형에 대한 정보)
7-3.DISPLAY(X윈도우 트래픽 처리할 X디스플레이서버 위치)
7-4.PATH(실행파일이 위치한 디렉터리 집합)
7-5.LANG(셸에서 기본 지운되는 언어)
7-6.PS1(프롬프트 표시명)
7-7.PS2(하나의 명령어를 여러줄로 입력할때 프름포트 표시명)
7-8.SHELL(로그인한 사용자의 셸)
7-9.HISTFILE(history가 저장되는 파일 경로)
7-10.HISTFILESIZE(history 파일의 크기)
7-11.UID(로그인 사용자 ID)
7-12.USER(로그인한 사용자 계정명)
7-13.HOME(로그인한 사용자의 홈 디렉터리)
7-14.PWD(로그인한 사용자의 현재 작업 디렉터리 경로)
7-15.TERM(로그인한 사용자의 터미널 종류)
7-16.MAIL(수신한 메일이 저장되있는 경로)
8.셸의 시작과 종료
8-1.로그인셸,비로그인셸
- 로그인셸:userid,passwd를 입력하여 셸에 진입
- 비 로그인셸:로그인없이 셸실행, 이미 로그인한 상태에서 bash 명령어 사용할때
8-2.인터랙티브셸,비인터랙티브셸
- 인터렉티브 셸: 사용자가 대화형으로 셸을 통해 명령 입력,결과받기
- 비 인터랙티브 셸:셸 스크립트에서 셸실행
8-3.리눅스 셸 종료
- logout
- exit
- control + D
9.리눅스 셸의 설정 파일
9-1.시스템 설정파일
/etc/profile (시스템 전역 설정 파일)
/etc/profile./d/* (사용자가 로그인할때 디렉터리 안 모든 셸스크립트 실행)
/etc/bashrc (시스템 전역 성격, 비로그인셸 실행할때마다 로드됨)
9-2.사용자 설정파일(사용자마다 다름)
~/.bash_profile (로그인마다 실행,로그아웃까지 유지, 개별사용자 설정)
~/.bash_login (로그인마다 실행,로그아웃까지 유지, 개별사용자 설정)
~/.profile (로그인마다 실행, bash와 직접 관련없는 사항기재)
~/.bashrc (비로그인 셸에서 실행, 로그인상태 터미널마다 로드)
~/.bash_logout (로그아웃할때 실행)
10.셸의 기능
10-1.자동완성기능
(일부입력후 TAB)
10-2.히스토리 기능
내가 입력한 명령어 불러오기 가능
!숫자 명령어로 히스토리 명령어 사용가능
history 숫자 명령어로 최근 사용한 히스토리만 불러오기 가능
10-3.alias 기능
명령어 별칭사용해 만들기
alias로 만든 별칭 목록 확인
unalias 로 별칭삭제
10-4.명령어 치환기능 $(command)
실행결과를 명령어 인자로 바로 넘김
10-5.표준 입출력 기능
- 표준입력 stdin
- 표준 출력 stdout
- 표준 에러 stderr
10-6. 리다이렉션 기능
표준 입력,출력을 다른 장치로 재지정
- > : 표준 출력에서 지정한 출력으로 변경
- >>: 표준 출력에서 지정한 출력으로 변경,추가
- <:표준 입력에서 지정한 출력으로 변경
- <<:표준 입력에서 지정한 출력으로 변경,추가
10-7.파이프 기능( | )
- 하나의 명령줄을 효과적으로 구성하는 프로세스간 통신 기술
- command1 | command2 | command3
10-8.그룹 명령 기능
- ; 를 사용하여 한번에 여러 명령어를 입력
- || 를 사용하여 앞의 명령어가 실패시 뒤에 명령어 실행
10-9.작업 제어 기능
- 포그라운드,백그라운드,멈춤 3가지 상태
- bg : 포그라운드 -> 백그라운드
- fg : 백그라운드 -> 포그라운드
- job : 작업의 목록
10-10.산술 논리 연산 기능
- expr 사용해서 연산시행
- 특수문자의 경우 \ , '' , "" 사용
10-11.프롬프트 제어 기능
- PS1, PS2, PS3, PS4를 통해 셸프롬프트 변경
10-12 내부 명령어
입출력
- echo
- printf
- read
파일시스템
- cd
- pwd
- pushd,popd,dirs
변수
- let
- eval
- set
- unset
- export
스크립트
- source
- exit
- exec
'Computer Science > OS' 카테고리의 다른 글
[리눅스마스터] 쉘프로그래밍 (0) | 2024.06.11 |
---|---|
[리눅스 마스터] 리눅스의 기초 (0) | 2024.06.11 |
[리눅스마스터] 리눅스와 하드웨어 (0) | 2024.06.10 |