임베디드/리눅스(Linux)

리눅스 Shell 쉘

마달랭 2024. 9. 9. 10:24
반응형

인터페이스

두 시스템 또는 장치 사이에 연결을 시켜주는 SW / HW 장치를 의미 ex) 리모컨은 H/W 적인 인터페이스이다.

사람은 TV 채널을 바꾸기 위해 코드를 직접 입력할 필요 없이 리모컨을 사용하면 된다.

리모컨 내부에 동작이 어떻게 일어나는 지 이해할 필요 없이 손 쉽게 TV를 제어할 수 있다.

 

Shell

시스템 사용자와 커널과의 인터페이스를 제공하는 프로그램

컴퓨터를 켜면 OS가 부팅된 후, 실행되는 프로그램, 쉘은 마치 조개 껍데기 같이 커널을 감싸고 있어서 붙여진 이름

  1. 시스템 사용자는 Shell을 통해 커널에 명령을 던진다.
  2. 시스템 사용자는 Shell을 통해 명령에 대한 결과를 확인한다.

Shell 은 두 가지 종류가 있다.

CLI Shell: 글자 기반 인터페이스

  • 한 번 익히면 굉장히 편리하다
  • 편리한 패키지 관리 도구

GUI Shell : 그래픽 기반 인터페이스

  • 접근성이 좋다.
  • 직관적
  • UI가 계속 바뀐다
  • 프로그램 설치 방법이 복잡하다

 

임베디드와 Shell

임베디드 리눅스 개발자가 CLI를 써야 하는 이유

  1. GUI 가 지원이 되지 않는 경우가 많다. (모니터가 없다.)
  2. 키보드는 연결할 수 있지만, 마우스 연결이 힘든 경우가 많다

Shell 은 OS에 반드시 포함되어야 하는 것은 아니다. 또한, 사용자는 Shell 이 필요 없다.

전자제품들은 컴퓨팅 장치이다. 따라서, 전자제품들은 OS를 포함한다. 

사용자 입출력을 보는 터미널이 없는 장치 : 메모리, 에어컨 등 (사용자는 리모콘만 있으면 된다.)

하지만, 개발자에게는 Shell 이 필요하기 때문에, 직접 구현하는 경우가 많다.

 

우분투 Shell

GUI Shell : GNOME 3

GNU 프로젝트의 일환으로 개발 많은 리눅스 배포판에서 기본 데스크톱 환경으로 제공

 

CLI Shell : Bash

Bourne Again Shell, GPL로 배포, 리눅스 및 유닉스 시스템에서 매우 널리 사용됨

 

라즈베리파이 Shell

GUI : LXDE

가볍게 만든 GUI 환경, 저성능 컴퓨터 용으로 개발된 GUI 환경, GTK  으로 개발

 

CLI : Bash

 

728x90
반응형