이미지 출처 : snipcademy.com/linux-command-line-environment
1. Kernel
컴퓨터의 운영체제의 핵심 프로그램이며, 시스템의 모든 것을 완전히 통제한다.
2. Shell
사용자와 kernel사이를 연결해주는 프로그램이다.
kernel을 감싸고 있는 층이라서 조개 껍데기(shell)라는 이름이 붙었다고 한다.
Shell은 운영 체제의 기능과 서비스를 구현하는 인터페이스를 제공하는 역할을 한다.
쉘에도 여러 종류가 있는데 터미널에 "echo $0"을 입력하면 사용중인 shell이 출력된다.
3. Kernel과 Shell의 동작
사용자가 입력한 명령어를 Shell에 입력하면, Shell에서는 그 명령을 해석해서 Kernel으로 전달해준다.
그 후 Kernel에서는 하드웨어에게 주어진 동작을 수행하도록 명령한다.
그리고 하드웨어의 처리 결과를 Kernel에게 넘겨주고, Kernel은 다시 Shell에 넘겨주면서 사용자는 실행 결과를 확인할 수 있는 것이다.
4. Shell script
명령어들을 스크립트 형태로 적어둔 것이며, 주기적으로 한꺼번에 명령어들을 입력해야 할 때 사용할 수 있다.
이 스크립트 파일을 터미널에서 실행하면 스크립트 내의 로직이 수행된다.
스크립트 코드 예제 (출처: 생활코딩 Linux)
1줄 : bin 디렉토리 내의 bash 쉘을 사용하겠다고 선언한다. 참고로, 쉘이나 명령어 프로그램들은 bin 디렉토리에 있다.
2줄 ~ 4줄 : bak이라는 디렉토리가 존재하지 않는다면 생성해준다. if문은 fi로 끝낸다.
5줄 : 현재 디렉토리 내의 .log로 끝나는 파일들을 bak 디렉토리 내에 복사한다.
'Linux' 카테고리의 다른 글
[Linux] 파일 찾기 / $PATH / 멀티 태스킹 (0) | 2021.03.22 |
---|---|
[Linux] 디렉토리 구조 / Process (0) | 2021.03.19 |
[Linux] pipe('|')와 redirection('>')의 차이 / 출력 버리기(/dev/null) (0) | 2021.03.17 |
[Linux] cat의 여러 용도 / grep (0) | 2021.03.16 |
[Linux] wget으로 파일 다운로드 / git (0) | 2021.03.16 |
댓글