Shell 쉘
껍데기, 주변
사용자가 명령을 입력하면 그 명령을 컴퓨터가 이해할 수 있도록 하는 프로그램
커널과 사용자간의 다리 역할
Kernel 커널
알맹이, 핵심, 코어
하드웨어를 직접적으로 제어하는 중심
쉘 <-> 커널 <-> 하드웨어 동작 과정
사용자가 입력한 명령을 해석해서 커널이 이해할 수 있는 방식으로 커널에게 전달
-> 커널은 하드웨어를 제어해서 어떤 처리를 수행할 수 있도록 명령
-> 하드웨어는 기계가 동작하면서 처리 결과를 커널 -> 다시 쉘 -> 우리는 결과를 볼 수 있게 됨
사용자는 직접 커널을 제어하기 어렵기 때문에 쉘을 통해 커널에게 전달해주는 것이다.
Shell과 Kernel이 분리된 이유
여러 가지의 쉘이 생길 수 있음
사용자가 선호하는 쉘을 선택하여 커널을 제어할 수 있도록 함
프롬프트
일반 유저는 $ 프롬프트를 사용하고, root 유저는 # 프롬프트를 사용함
쉘의 종류 - bash (배쉬쉘) zsh(지쉘)
부모가 동일하다. 지쉘이 좀 더 편리하다.
$ echo $0 --> 지금 사용하는 쉘이 무엇인지 알 수 있다.
bash
- 리눅스의 표준 쉘
- 우분투와 페도라에서 사용하는 쉘
zsh
지쉘을 설치하고 싶다! 하면 --> sudo apt-get install zsh
Shell Script 쉘 스크립트
순차적으로 실행되어야 하는 명령의 순서를 어딘가에 적어놓고 재사용하자! 그것이 쉘 스크립트
쉘 스크립트를 통해 자동화된 작업을 처리할 수 있다.
/bin
루트 디렉토리 바로 아래에 위치하며, 유닉스 계열의 탑재되어 있는 기본 프로그램들이 위치하는 디렉토리
그동안 사용했던 명령어가 사실은 폴더 형태로 존재하는 프로그램이었어 !! 대박사건 !!
backup 쉘 스크립트를 생성해보자.
#!/bin/bash // bash 언어를 통해 해석되어야함
if ! [ -d bak ]; then // if[ -d bak ] : bak 라는 디렉토리가 존재하니?
mkdir bak // bak 디렉토리가 없다면 만든다
fi // 조건문 끝
cp *.log bak // 현재 디렉토리에서 .log 확장자의 모든 파일을 bak에 복사한다
'LINUX' 카테고리의 다른 글
[LINUX] 프로세스와 실행 (0) | 2021.02.01 |
---|---|
[LINUX] 디렉토리 구조와 파일 찾기 (0) | 2021.02.01 |
[LINUX] IO Redirection (0) | 2021.02.01 |
[LINUX] 리눅스 기초 (0) | 2021.02.01 |
리눅스 기본 명령어 (0) | 2021.01.16 |