커널
ㄴ 하드웨어를 직접적으로 제어한다. OS에서 가장 중심이 되는 코어이다.
ㄴ 하드웨어를 제어해서 어떤 처리를 수행할 수 있도록 명령한다.
예를들면, 입출력을 관리하고 CPU, 메모리, 저장장치를 제어할 수 있다. 이 외에도 프로세스 등 시스템 자원을 제어하는 역할을 한다.
ㄴ 하드웨어는 처리 후에 결과를 커널에게 알려주면 커널이 쉘에게 알려준다.
쉘
ㄴ User가 입력한 명령어가 쉘에게 전달되면 쉘은 이를 해석하여 커널이 이해할 수 있는 방식으로 커널에게 전달한다.
ㄴ 명령어를 쉘에 해당되는 프로그램들이 해석해서 커널에게 전달한다.
ㄴ 사용자가 입력한 명령을 해석하는 프로그램이 쉘이다.
ㄴ 커널과 쉘을 분리한 이유 중 하나는 여러 쉘을 선택 가능하게 하기 위해서도 있다.
ㄴ 우리는 우리가 선호하는 쉘 프로그램 (bash, zsh)을 선택해서 커널을 제어할 수 있다.
( bash vs zsh 부모가 같지만, zsh 가 기능이 많아 편리하다.)
쉘 스크립트
ㄴ 명령어들이 여러개이고 순차 실행이 필요하거나 자동화 작업이 필요한경우 쉘 스크립트를 사용
ls /bin
ㄴ root 밑에 있는 bin 이라는 디렉토리이다.
ㄴ Unix 에 기본적으로 탑재되어 있는 프로그램 & 명령어 파일들이 존재한다.
#! /bin/bash
ㄴ 쉘 스크립트 작성시 위 문구를 꼭 입력해야 한다.
ㄴ bin 밑에 bash 라는 프로그램을 통해서 해석되어야 한다는 뜻이다.
'리눅스' 카테고리의 다른 글
Daemon 이란 (0) | 2021.09.22 |
---|---|
특정 서버 API 호출 전 방화벽 이슈를 확인하는 방법 (0) | 2021.08.30 |
vi 에서 영구적으로 줄번호 출력 (0) | 2021.07.02 |
VM (virtualbox) 설치방법 (0) | 2020.05.10 |
명령어 모음 (0) | 2020.05.10 |