Bash?
간단히 말해 bash는 컴퓨터에서 돌아가는 프로그램입니다.. 여러분의 컴퓨터에서 돌아가는 여느 다른 프로그램과 마찬가지로 말이죠. 그러나 bash는 좀 더 쉽게 여러분들과 대화할 수 있도록 설계되었습니다.
대부분의 프로그램들과 bash의 가장 큰 차이점은 전자의 프로그램들과는 달리 특정 작업을 수행하도록 설계되지 않았다는 점입니다. Bash는 사용자로부터 명령을 받도록 설계되었습니다. 그리고 그일을 효율적으로 하기위해, 사용자가 배쉬 프로그램에게 명령하고 또 배쉬가 무엇을 해야하는지 알려주는 언어(Language)가 만들어졌습니다. 이 언어가 바로 배쉬 쉘 언어(Bash shell Language)이며 여러분이 곧 능숙하게 사용할 수 있게될 언어입니다.
본질적으로, 쉘 프로그램은 사용자가 다른 프로그램과 상호 작용할 수 있도록 인터페이스를 제공하는 프로그램입니다. 그런 쉘 프로그램에는 각각 서로 다른 언어를 사용하는 수 많은 종류의 프로그램이 있습니다. 인기있는 쉘로는 C쉘(CSH), Z쉘(ZSH), Korn쉘(KSH), Bourne쉘, 데비안의 Almquist쉘(대시) 등이 있습니다. 배쉬(Bourn Again Shell)는 현재 가장 인기있고 언제 어디서든 사용가능한 쉘입니다.
Bash는 내 명령을 듣고 내가 말한 것을 수행하도록 설계된 쉘 프로그램입니다.
나는 Bash로 뭘 하죠?
대부분의 사람들은 키보드와 마우스를 이용하여 컴퓨터의 다양한 프로그램과 상호 작용합니다. 또한 그들은 버튼과 위젯, 텍스트 필드 및 이미지로 구성된 시각적 인터페이스에서 작업을 수행하지요. 이것이 대부분의 사용자가 컴퓨터와 상호작용 시에 쓰는 그래픽 사용자 인터페이스(GUI : Graphical User Interface)입니다.
컴퓨터와 상호작용하는 방법에는 GUI말고도 다른 방법이 있습니다. Bash는 GUI의 아이디어에 직접적으로 역행하는 방법을 사용합니다. 텍스트 전용 "콘솔"에서 실행되며 상호 작용은 주로 화면에 문자를 표시하고 키보드에서 문자를 읽는 것으로 제한됩니다. 이런 종류의 환경이 익숙하지 않다면 정말 제한적이고 고통스럽게 느껴질 것입니다.
진실은 그와 반대입니다. 텍스트 전용 인터페이스는 분명 표시할 수 있는 기능(이미지를 표시하는 기능 등)은 적지만, 단순함으로 인해 컴퓨터가 출력하는 텍스트를 해석 할 때 일관된 구조를 쉽게 찾을 수 있습니다. 또한 얼마나 쉽게 명령을 내릴 수 있는지도 말입니다. 숙련된 컴퓨터 사용자는 GUI환경보다 텍스트 기반 인터페이스(TUI : Test-based User Interface)가 작업을 수행하는 부분에 있어 훨씬 더 효율적이라는 것을 알 수 있습니다. 이런 효율성이 Bash 쉘 언어의 핵심 요소라는 것을 곧 알게 될 것입니다.
그래서 여러분은 Bash로 뭘 할 수 있을까요? Bash를 이용하면 컴퓨터에 있는 파일과 그 안에 들어있는 파일을 확인할 수 있습니다. "파일 및 이미지 편집에서 변화에 이르기까지 모든 종류의 변경 작업을 수행하는 여러 프로그램들"을 실행하는 데 사용합니다. 그러나 여러분이 확실히 짚고 넘어가셔야할 것이 있습니다. 배쉬는 툴입니다. 거대한 프로그램의 툴박스에 있는 하나의 툴이라는 것을 알고계셔야합니다.