카테고리 없음
[shell] shell의 역할
extra_
2023. 1. 24. 21:07
커널/ 유틸리티
- 커널 : 유닉스 시스템의 심장
- 유틸리티 : 모든 유닉스 커맨드
로그인 셸
- 로그인을 요청할 때 마다 getty프로그램을 시작한다.
- ssh나 telnet, rlogin등을 사용할 때는 원격요청을 지원하며 가상터미널이 할당된다.
- 로그인을 하면 /etc/passwd 디렉터리를 확인하게 된다.
- 계정마다 표준(init)이 바뀌도록 설정 할 수 있다. (/bin/sh, /bin/ksh, /bin/bash 등)
- who 커맨드를 사용해서 시스템에 로그인 했는지 확인할 수 있다.
셸에 커맨드를 입력
- 특정 프로그램을 호출하면 해당 프로그램을 찾을 때 까지 PATH의 모든 디렉터리를 단계별로 실행한다.
- 프로그램을 발견하면 shell은 shell자체를 복사하고 (subshell)을 만들고 커널에 서브셸을 지정된 프로그램으로 바꾸도록 요청한다.
- 프로그램이 끝날때 까지 로그인 셸은 잠자는 상태로 변경된다.
- 셸은 단지 프로그램이다.
- 누구나 자신만의 셸을 만들 수 있다.
셸의 책임
- 프로그램 실행
- 변수와 파일이름 대체
- I/O redirection
- pipeline connect
- env control
- interpreter, programming language
프로그램 실행
- 셸은 공백을 보지 못한다.
- 커맨드를 입력하면 내장커맨드인지 개별 프로그램인지 확인하고 실행한다.
Redirection
Pipeline