배운 내용을 정리하자! 고 마음 먹은지가 언제였던가.
미루고 미루다 반 달이 훌쩍 지나버렸다.
사실 블로그 공사 완벽히 끝낸 후 번역을 시작하고 싶었는데, 블로그 완공까지 얼마나 걸릴지 감도 안 온다.
더 기억을 잃기 전에 정리하자.

이름모를 물가 에 빠져 허우적거리며 고통받고 있을 누군가를 위하여.
난 그 물가가 수영장이라고는 안 했다. 절대로!
이름모를 물가는 인터넷, 즉 정보의 바다이다… 아마도… 헤헤


그래서 shell 이 뭔데?


Bash Reference Manual 에 따르면,

shell 은 명령을 실행하는 macro processor 다.

macro processor: 텍스트, 기호를 확장하여 더 큰 식을 만드는 기능


…… 네?


gnu 와 같은 공식 문서를 활용하면 신뢰도 높은 결과를 얻을 수 있지만, 이와 같이 한 번에 이해하기 어려울 수 있다.
구글에 what is shell? 을 검색했을 때 첫 페이지에 나오는, 여러 결과를 종합해보면 이렇게 정의할 수 있다.

shell 은 프로그램이고, 운영체제와 사용자를 연결해주는 역할(인터페이스 제공)을 한다.


구체적으로 어떤 역할인데?


사용자로부터 입력을 받고, 이를 토대로 프로그램을 실행한다.
프로그램 실행이 끝나면 그 프로그램의 출력을 표시한다.


우리는 뭘 하면 되는데?


명령어를 입력하면 된다.
명령 프롬프트가 표시되는 동안 사용자는 명령을 입력할 수 있다.
shell
Shell 의 명령 프롬프트는 $ 이다.
$ 가 표시된다는 것은, shell 이 사용자의 입력을 받을 준비가 되어 있다는 뜻이다.
명령 프롬프트가 표시되는 동안, 사용자는 명령을 입력할 수 있다.

사용자가 명령을 입력한 후 Enter 키를 누르면 shell 이 입력을 읽는다.
Shell 은 입력된 첫 번째 단어를 보고 어떤 명령을 실행할지 확인한다.
이 때, 단어는 끊김 없이 이어져 있는 문자열을 의미한다. 단어 사이에 공백과 탭이 있어서는 안 된다.
Shell 은 공백과 탭을 기준으로 단어를 구분하기 때문이다.