Shell이란?
포스트 난이도: HOO_Junior
# Shell
Shell(쉘)은 Operating system을 다루는 데 있어서 필요한 프로그램이다.
우선 Operating system을 사용자나 개발자가 쉽게 접근할 수 없다는 건 이전 포스트에서 이야기를 나눴었다.
Operating system에 접근하기 위해서는 사용자 또는 개발자가 Kernel을 통해서 접근해야 한다.
Kernel에 접근하는 방법이 바로 Shell이라는 프로그램인 셈이다.
Shell을 통해서 operating system에 접근하게 최종 목적이지만 그전에 Kernel에 접근할 수 있도록 도와주는 역할을 수행하는 것이다.
Shell 또한 검은 화면에 하얀 글씨만 있는 cmd와 헷갈리기도 하지만 cmd와는 다른 프로그램이다.
# Shell의 종류
Shell에도 다양한 종류가 존재하다.
예를 들어 sh, csh, ksh, bash 등이 있는데 Mac 사용자라면 bash에 대해서 다른 종류의 Shell보다 친숙하게 느껴질 수 있다.
Mac에서는 bash가 기본이며 현재 많이 이용하는 Linux shell 방식 중 하나가 바로 bash이다.
Linux에 있어서 Standard shell이 bash이며, 대중적일 뿐만 아니라 편리성도 갖추고 있다.
Window에서 세팅을 해준 다음에 bash shell 사용을 할 수 있다.
Window의 경우는 Window에서 제공하는 terminal을 통해서 bash shell을 세팅하고 사용이 가능하다.
# Secure SHell
Shell 프로그램 자체를 Local 환경에서 사용하는 경우는 많지 않을 수 있다.
사실상 SSH, 즉 Secure shell을 사용하는 경우가 공부하는 과정에 있어서는 많을 것이다.
SSH는 shell 프로그램을 사용하게 해주면서 원격으로 다른 서버나 컴퓨터에 접근성을 가지고 있는 프로그램이다.
쉽게 말하자면, SSH는 Shell 프로그램을 이용할 수 있게끔 도와주는 대행업체 같은 느낌이라고 생각하면 된다.
SSH를 통해서 Shell 프로그램을 작동할 수 있으며, 원격으로 다른 서버나 컴퓨터에 대한 데이터의 접근도 가능하다.
리눅스를 공부하는 Bro들이 SSH를 많이 다룰 수밖에 없는 이유는 결과적으로 공부한 내용을 공유해야 하기 때문이다.
한마디로 과제를 제출하기 위해서는 SSH를 많이들 써왔을 것이다.
여기서부터 슬슬 왜 개발자들이 Window보다 Mac을 많이 사용해오는지를 몸소 조금씩 느껴볼 수 있다.
'Computer Science' 카테고리의 다른 글
[Machine Level Data Representation] Fixed Point Number Representation: Unsigned and Signed (0) | 2022.02.04 |
---|---|
[Operating System] Monolithic kernel and Microkernel (0) | 2022.01.26 |
[Database] Data Model(데이터 모델) (0) | 2022.01.20 |
[Automata] Regular Expression(정규 표현식) (0) | 2022.01.19 |
[Database] Metadata: 메타데이터란? (0) | 2022.01.17 |
댓글