수천년 동안 계산 기능을 전담하던 주판은 컴퓨터의 등장 이후 역사의 뒤로 사라졌다
예전 같으면 몇일씩 걸릴 수 있는 일들도 컴퓨터를 이용하면, 단 몇분안에 작업을 빠르고 정확하게 처리할 수 있게 되었다
복잡한 일들도 잘게 나누어 처리 절차를 프로그램 해두면 컴퓨터는 쉬지 않고 능숙하게 시킨 일을 잘 해낸다
이러한 컴퓨터의 특징을 가장 잘 이해하고 있는 해커 집단은 쉘 이라고 하는 프로그램을 리눅스 운영체제에서 동작하도록 하였는바, 지금부터 이 쉘 프로그램에 대한 이야기를 해보려 한다
위키피디아에서 쉘을 찾아보면 다음처럼 설명하고 있다
쉘은 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다
쉘은 UNIX 혹은 LINUX 운영체제에서 사용자 입력을 받아 명령 command 혹은 어플리케이션 program을 실행해주는 일을 담당한다
1991년도 핀란드 대학생 리누스 토발즈가 이 세상에 리눅스 커널을 처음 내놓았을때 뉴스그룹에 올린 글을 인용해 보자
386 혹은 486 AT 클론을 위한 운영 체제를 만들고 있습니다 취미일 뿐이며 gnu처럼 크고 프로페셔널하진 않아요 4월부터 진행 중이며 준비 작업을 시작하고 있습니다.
저는 현재 bash와 gcc 을 포팅하였으며 동작하는 것으로 보입니다 이 말은 수개월 안에 뭔가 실용적인 것을 하겠다는 이야기입니다
여기서 bash 라고 하는 것도 쉘의 종류 중 하나이다
1980년대 부터 시작된 오픈소스 운동은 현재까지 이어지고 있으며, 이것이 실제로 4차 산업혁명을 견인차하고 있다
수십만의 개발자에 의해 작성된 수없이 많은 오픈 소스가 쉘 위에서 컴파일되고, 쉘 위에서 실행되고 있다
하지만, 해커들은 쉘을 단순히 이러한 기능으로만 정의하지는 않았다
쉘 내부에는 자체적인 스크립트 일종의 프로그래밍 언어를 내장하고 있어,
사용자가 원하는 작업을 배치화하고, 서로 관계 없어 보이는 명령들을 유기적으로 연결하여 생산성을 극대화 할 수 있는 도구가 들어있다
수많은 오픈소스들이 기술적인 진보를 하듯, 쉘 또한 계속 발전을 해오고 있는데,
초기 쉘인 본쉘, 콘쉘, 씨쉘에서 배쉬쉘로 진화하고, 현재에 이르러는 제트쉘이 주목 받고 있다
지금까지는 개발 환경으로 마이크로소프트 윈도우를 많이 이용해왔지만, 그리고, 점유율도 다른 OS에 비해 압도적이지만, 향후 리눅스 개발환경의 사용 비율이 지금보다 많이 높아질 것으로 예상한다
앞서 지적하였듯이, 오픈소스 제작자 해커들은 자신이 만든 개발 소스에 쉘의 문법, 쉘 명령을 포함하여 컴파일 도구와의 호환성과 편리성을 함께 도모하고 있다
지금까지 리눅스 쉘에 대하여 알아보았다 ..
현직 오픈소스 개발자는 물론이고, 앞으로 리눅스 관련 개발 분야에 진출하고 싶어하는 개발자들이 쉘에 대하여 더욱 많은 관심을 가졌으면 하는 바람이다
인프런 https://www.inflearn.com/course/keybo...
유데미 https://www.udemy.com/the-complete-ke...
깃트허브 https://github.com/guileschool
유튜브구독 https://bit.ly/2Xbs9qw
홈페이지 http://www.guileschool.com
LICENSE
Childhood by Mike Chino / mike-chino
Creative Commons — Attribution-ShareAlike 3.0 Unported — CC BY-SA 3.0
Free Download / Stream: https://bit.ly/childhood_
Music promoted by Audio Library • Childhood – Mike Chino (No Copyright Music)