일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SQL
- 문제풀이
- 시나공
- C++
- 백준 알고리즘
- CJ UNIT
- 파이썬
- 회고
- 정보처리산업기사
- programmers
- python
- softeer
- kotlin
- MYSQL
- 데이터베이스
- 1과목
- 코딩교육봉사
- SW봉사
- 코틀린
- 자바
- 코딩봉사
- 공부일지
- BFS
- 알고리즘
- 백준알고리즘
- 프로그래머스
- 백준
- 스프링
- 소프티어
- java
Archives
- Today
- Total
JIE0025
[리눅스] 셸의 역할과 리눅스 커널, 셸의 종류 본문
728x90
✅ 명령어를 쳤을 때 리눅스 내부에선 어떤일이 벌어질까?
- 키보드로 입력한 date 문자열을 받아들인다.
- date 명령어를 찾는다.
- 발견한 명령어를 실행한다. (리눅스이 본체인 커널이 수행한다)
- 실행한 결과로 얻은 문자열을 화면에 표시한다.
✅ 셸 (Shell)
커널은 운영체제 중심에서 CPU/ 하드웨어를 관리하면서 명령어를 실행하고 프로세스를 관리한다.
리눅스에선 사용자가 커널을 직접 조작할 수 없게 되어있기 때문에
둘 사이의 명령어를 받아들이고, 커널의 실행결과를 출력하는 소프트웨어가 필요하다.
이역할을 하는 소프트웨어가 바로 셸이다.
>> 커널의 인터페이스 역할이다.
- 사용자는 셸에 date명령어를 입력
- 셸은 리눅스 커널에게 실행을 의뢰한다.
- 리눅스 커널은 명령을 실행하고, 셸은 결과를 받아 사용자 화면에 출력한다.
shell(조개껍질) 이라는 이름도 커널을 감싸 보호하기 떄문에 붙혀진것이다.
✅ 커널과 셸은 왜 나뉘어져있을까?
- 커널을 바꾸지 않고 셸만 바꿀수 있다.
- 리눅스가 아닌 OS를 사용할때에도 셸만 인식하면 똑같이 사용가능하다
- 셸을 사용할 때 에러가 발생하거나 높은 부하가 발생해도 본체인 커널에 미치는 영향은 최소화된다.
>> 한 프로그램에 너무 많은 기능을 넣기보다는 적절히 분리하는것이 좋은 설계이다.
✅ 로그인 셸
리눅스에 로그인하면 셸은 사용자를 반기며 입력을 대기한다.
로그인할때 리눅스가 자동으로 셸을 시작하기 때문이다.
>> 로그인셸이라고 부른다.
echo $SHELL 을 입력하면 현재 사용하고 있는 로그인 셸을 확인할 수 있다.
출력결과를 확인했을 때 /bin 디렉터리 밑에 bash가 로그인 셸인데,
별도 지정하지 않으면 배시셸이 로그인셸로 시작된다.
* 셸 스크립트
일련의 명령어 흐름을 기술한 파일을 셸 스크립트라고 핮다.
작은 명령어를 조합해 복잡한 처리를 수행할 수 있게 한다.
✅ 셸의 종류
sh
- 스티븐본이 만들어서 본셸이라고 불린다.
- 리눅스 외에도 FreeBSD Solaris HP-UX AIX등 여러 운영체제에서 사용할 수 있다.
- 현재도 셸 스크립트 작성시 sh를 사용하는것이 일반적이다.
- 오래된 셸이라 기능이 적고 대화형에서 사용하기에 불편
csh
- sh보다 대화형 조작에 편리한 기능을 갖추고 있다 .
- csh이후 tcsh가 나와 많이 사용하지 않음
bash
- 많은 리눅스 기본 로그인 셸로 사용됨
- 대화형 조작에 필요한 기능 있음
- sh바탕으로 기능이 추가된 셸 sh와 호환성이 있다.
tsch
- 셸 스크립트에는 적합하지 않다 .
references
- 도서 : 모두의 리눅스
- https://wikidocs.net/278175
'Infra > Linux' 카테고리의 다른 글
[리눅스] * 와 ? 를 이용해 파일 이름 패턴 출력하기 (0) | 2025.05.05 |
---|---|
[리눅스] linux의 주요 디렉터리와 역할 (0) | 2025.05.04 |
[리눅스] 블록장치와 lsblk, Mount (0) | 2025.05.01 |
[Linux] CentOS 자바 구성하기 (0) | 2025.03.16 |
리눅스 소프트웨어의 설치 방법 : Archive tar / RPM 비교 (1) | 2025.02.22 |