ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쉘(Shell) & 커널(Kernel)
    리눅스 2021. 8. 24. 23:45

    출처 https://jinshine.github.io/

    커널


    ㄴ 하드웨어를 직접적으로 제어한다. 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
Designed by Tistory.