Raspberry Pi_Kor_08.2.1 Shell 과 BASH (Bourne Again Shell)

8.2 Shell 프로그램

8.2.1 Shell 과 BASH (Bourne Again Shell)

우리가 Terminal 프로그램에서 어떤 명령을 실행하면, 그 명령은 내부적으로 Shell이라는 프로그램이 받아서 명령을 해석하고, 시스템 kernel에게 처리를 지시하고, 처리가 완료되면 kernel에게서 그 결과를 받아서 다시 Terminal 프로그램으로 되돌려 준다. Shell은 Terminal 프로그램과 시스템 kernel 사이에 있으면서 Terminal 프로그램이 요구하는 모든 요청을 대신 처리해 주는 역할을 하므로, Terminal 프로그램은 시스템 kernel에 대해서 전혀 알 필요가 없다. 이렇게 조개 껍질이 내용물을 둘러싸고 있는 것처럼 시스템 kernel을 둘러싸고 있으면서 kernel로 부터 서비스를 받을 필요가 있는 외부의 terminal에게 필요한 서비스를 제공하는 역할을 한다는 의미에서 Shell이라고 한다.

Raspberry Pi_Kor_08.1.3 Terminal 화면에서의 작업

8.1.3 Terminal 화면에서의 작업

다음은 Terminal 화면에서 현재의 위치가 어디에 있는지를 정확히 확인해 보자. Linux에서 현재의 directory 위치를 알고 싶을 때 “pwd” 명령을 사용한다.

pi@raspberrypi ~ $ pwd

/home/pi

위의 사례에서는 “pwd” 명령을 실행하면 “/home/pi”가 현재의 directory 위치라는 것을 알려준다. 화면에서는 “~”라고 표시되어 있지만, 실제는 그것이 “/home/pi”를 의미하는 것이다. 처음 home directory에 지정된 현재 directory 위치는 사용자가 작업하는 위치를 다른 directory로 이동하면 같이 변경되게 된다. 그러면 화면에 표시되는 위치도 그에 맞추어 변경된다.

Raspberry Pi_Kor_08.1.2 Terminal 화면의 구성

8.1.2 Terminal 화면의 구성

Raspberry Pi 시스템에서 제공되는 Terminal 화면은 일정한 규칙을 가지고 있다. 먼저 Terminal 화면에서 표시되는 정보에 대해서 살펴 보기로 한다.

먼저 시스템에 접속하고, “pi” 계정으로 logon하면 Terminal 화면에 다음과 같은 부분이 나타난다.

그림 8‑1 Terminal 화면 command prompt

이것을 command prompt라고 하는데, 명령을 실행할 때 사용자에게 뭔가를 알려주는 장치라는 의미에서 prompt라고 한다. 여기서 정보가 표시되는 부분을 하나씩 분해해 보면 다음과 같다.

Raspberry Pi_Kor_08.1.1 Terminal 프로그램 시작 방법

8.1 Terminal 프로그램

8.1.1 Terminal 프로그램 시작 방법

Raspberry Pi 시스템에서 원하는 작업을 하려고 시스템에 명령을 내릴 때는 Terminal 화면을 이용하게 된다. Raspberry Pi 시스템이 window를 지원하고, window에서 일부의 작업을 할 수 있기는 하지만, 아직도 대부분의 작업은 Terminal 프로그램 화면에서 명령을 수동으로 입력하여 작업해야 한다.

Raspberry Pi_Kor_08.0 Chapter 8 Terminal과 Shell 프로그램

Chapter 8 Terminal과 Shell 프로그램

Chapter 주요 내용

Raspberry Pi 시스템에서 원하는 작업을 하려고 시스템에 명령을 내릴 때는 대부분 Terminal 화면에서 Shell 명령을 이용하게 된다. 여기서는 Terminal 프로그램을 사용하는 방법과 Shell 명령을 사용하는 기본적인 방법에 대해서 설명한다.

다음과 같은 항목에 대한 내용을 포함하고 있다.
■ Terminal 프로그램

■ Shell 프로그램

Raspberry Pi_Kor_07.9 Shutdown

7.9 Shutdown

[Shutdown] 메뉴는 시스템을 중단시키거나, 부팅을 새로이 하거나, 현재 사용자 계정에서 logout하여 새로운 사용자로 변경할 수 있는 기능을 제공한다.

[Menu]에서 [Shutdown]을 누르면 다음과 같은 팝업 화면이 나타난다. 여기서 사용자가 원하는 항목을 선택하면 해당 작업이 실행된다.

Raspberry Pi_Kor_07.8 Run

7.8 Run

[Run] 메뉴는 window에서 메뉴를 사용하거나, 아이콘을 클릭하거나 Shell Terminal 화면을 사용하지 않고도 시스템에 명령을 지시할 수 있는 기능을 제공하고 있다.

● 실행 화면

이 메뉴를 실행하면 다음과 같이 화면에 명령을 입력할 수 있는 팝업 화면이 나타난다. 여기서 사용자가 처리를 원하는 명령을 입력하여 [OK] 버튼을 누르면 명령이 실행된다.

Raspberry Pi_Kor_07.7.3 Main Menu Editor

7.7.3 Main Menu Editor

이 프로그램은 window 의 메뉴에서 곧바로 실행할 수 있는 프로그램 목록을 정의할 수 있다.

Application Menu Menu à Preference à Main Menu Editor을 실행하면 설정 작업을 할 수 있는 팝업 화면이 나타난다.

먼저 화면 왼쪽에서 [Applications] 메뉴를 선택하면 오른쪽에 최상위 단계에서 사용할 수 있는 메뉴 목록이 나타난다. 여기서 원하는 메뉴를 선택하고 필요한 내용을 조정할 수 있다. 그런 다음 다시 화면 왼쪽에서 [Applications] 밑에 있는 최상위 메뉴를 선택하면 오른쪽에 그 밑에 있는 세부 메뉴 목록이 나타난다. 여기서 다시 원하는 메뉴를 선택하고 필요한 내용을 조정할 수 있다.

Raspberry Pi_Kor_07.7.2 Theme and Appearance Settings

7.7.2 Theme and Appearance Settings

이 프로그램은 window 내부에 있는 항목들의 특성을 정의한다. 바탕화면이나 아이콘 등 여러 가지 항목의 내용을 정의할 수 있다.

Application Menu Menu à Preference à Theme and Appearance Settings을 실행하면 설정 작업을 할 수 있는 다음과 같은 화면이 나타난다.

Raspberry Pi_Kor_07.7.1 Mouse and Keyboard Settings

7.7 Preference

7.7.1 Mouse and Keyboard Settings

이 프로그램은 마우스와 키보드에 대한 설정 내용을 조정할 수 있는 기능을 제공한다.

Application Menu Menu à Preference à Mouse and Keyboard Setting을 실행하면 설정 작업을 할 수 있는 다음과 같은 화면이 나타난다.