Shell vs Kernel

사용자가 명령을 입력하면 그 명령을 컴퓨터가 이해할 수 있도록 하는 프로그램이 Shell이다.

  • Kernel

    • 알맹이, 핵심, 코어 이런 뜻이 있다
    • Kernel이라고 하는 프로그램은 하드웨어 즉, 물리적인 기계를 직접적으로 제어하는 OS에서 가장 중심이 되는 코어이다
  • Shell

    • 껍데기, 주변 이런 뜻이 있다
    • 사용자는 Linux에서 Shell을 대상으로 명령를 입력하고
      • 예) ls -al, ls;pwd 등
    • Shell 사용자가 입력한 명령을 해석해서, 커널이 이해할수 있는 방식으로 커널에게 전달해준다
  • 동작
    • 커널이라고 하는 프로그램은 하드웨어를 제어해서 어떠한 처리를 수행할 수 있도록 명령한다.
    • 하드웨어가 동작하면서 그 처리 결과를 커널에게 알려주면, 커널이 쉘에게 알려주고, 사용자는 실행된 결과를 확인할 수 있다.

Shell 프로그램 : bash vs zsh

  • shell 이라는 카테고리에 속하는 구체적인 제품 중 하나인 bash 프로그램을 쓰고 있다

  • shell 프로그램 zhs를 사용하고 있다

  • bash와 zsh는 부모가 같기 때문에 상당히 유사한 특성을 가진다.

  • zshell의 경우 bash가 갖고 있지 않은 추가적인 기능들이 있어서 좀 더 편리하다라고 평가를 받고 있다.

    • 자동 완성 기능, cd 등을 좀 더 편리하고 사용할 수 있다

Shell 스크립트

shell script는 쉘을 통해서 명령을 실행시키는 작업을 한번에 실행할 수 있다. => 자동화

#!/bin/bash로 알수 있는 것

  • 밑에 작성되는 코드들이 bin/bash 라는 프로그램을 통해서 해석되어야 한다는 표시이다

shell script 예제

  • 실행가능한 파일을 만들려면 $ chmod +x {shell파일명}
#!/bin/bash
if ! [ -d bak ]; then
        mkdir bak
fi
cp *.log bak

Startup script

우리가 쉘에 접속했을 때(=쉘이 시작되었을 때) , 어떤 특정 명령어가 자동으로 시작되도록 해보자

이런 걸 startup script 또는 스타트업 설정이라고 부른다

대표적으로 alias ll = 'ls al' 과 같은 명령어를 만들 수 있다

꿀팁 alias 사이트

https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html

bashrc

보통 기본 shell은 bash이고, bash는 사용자가 bash를 처음 실행할 때 어떤 특정한 이름의 파일(bashrc)을 실행하도록 약속되어 있다.
(여러가지 파일들을 실행하고 , 맥락에 따라 조금씩 다르지만 일단 PASS~)

[root@cookie cookie]# echo $SHELL
/bin/bash

[root@cookie ~]# ls -al ~ | grep bashrc
-rw-r--r--.  1 root   root     176 Dec 29  2013 .bashrc

홈디렉토리에 .bashrc 파일이 있는데, 이 파일이 우리가 shell에 접속할 때, shell이라는 프로그램이 bashrc라고 하는 파일 안에 있는 코드를 실행하도록 약속되어 있다.

results matching ""

    No results matching ""