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

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_Eng_08.2.2 Specifying Default Shell Program

8.2.2 Specifying Default Shell Program

There are various Shell programs available in Linux, and other Shell programs may be provided depending on the distribution. If you have other Shell programs you need, you can also use the Shell program.

On Linux, information about the Shell program currently installed on the system is stored in the “/etc/shells” file. If you check the information just like below, you can see that you can use various Shell programs. One of these several Shell programs installed in the system is specified as the Shell program used by default in the system.

Raspberry Pi_Eng_08.2.1 Shell and BASH (Bourne Again Shell)

8.2 Shell Program

8.2.1 Shell and BASH (Bourne Again Shell)

When we execute a command in the Terminal program, the Shell program accepts and interprets the command internally, instructs the system kernel to process it, and when processing is complete, it receives the result from the kernel and returns it to the Terminal program. Since the Shell is between the Terminal and system kernels, and handles all requests that the Terminal program requires, the Terminal program does not need to know anything about the system kernel. It is called a Shell in the sense that it serves to provide the necessary services to external Terminals that needs to receive services from the kernel while enclosing the system kernel as if the clamShell surrounds the contents.

Raspberry Pi_Eng_08.1.3 Working on Terminal Screen

8.1.3 Working on Terminal Screen

Next, let’s see exactly where the current position is on the Terminal screen. If you want to know the current directory location on Linux, use “pwd” command.

pi@raspberrypi ~ $ pwd

/home/pi

The above example shows that when you run the “pwd” command, it tells that “/home/pi” is the current directory location. “~” is displayed on the screen, but in reality, it means “/home/pi”. The current directory location specified in the home directory for the first time will be changed as user move the user’s working directory to another directory. Then, the position displayed on the screen is changed accordingly.

Raspberry Pi_Eng_08.1.2 Configuration of Terminal Screen

8.1.2 Configuration of Terminal Screen

The Terminal screen provided in the Pi system has certain rules. First, let’s look at the information displayed on the Terminal screen.

If you connect to the system at first and log on to “pi” account, the parts as below appears on the Terminal screen.