Raspberry Pi_Kor_08.2.2 기본 Shell 프로그램의 지정

8.2.2 기본 Shell 프로그램의 지정

Linux에서는 여러 가지의 Shell 프로그램이 존재하며, 배포판에 따라서 다른 Shell 프로그램이 제공될 수도 있다. 사용자가 필요로 하는 다른 Shell 프로그램이 있으면, 그 Shell 프로그램을 사용할 수도 있다.

Linux에서 시스템에 현재 설치되어 있는 Shell 프로그램에 대한 정보는 “/etc/shells” 파일 파일에 저장되어 있다. 다음과 같이 해당 정보를 확인해보면 여러 가지의 Shell 프로그램을 사용할 수 있음을 알 수 있다. 이렇게 시스템에 설치된 여러 개의 Shell 프로그램 중에서 시스템에서 기본적으로 사용하는 Shell 프로그램이 지정된다.

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라고 한다. 여기서 정보가 표시되는 부분을 하나씩 분해해 보면 다음과 같다.