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이라고 한다.