[강좌][shell] 쉘프로그램이란 ?

======================================================================

               SHELL PROGRAMMING [1] 쉘프로그램이란 ?

본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을

금지 합니다.  –  서진우(alang at sysmng.com)

======================================================================

시스템을 관리하다 보면 아주 기본적인 관리 부분부터 고급 관리 까지 다양한

관리 방법에 따라 여러가지 절차가 있기 마련이다. 매일 마다 똑같은 방법과  

과정의 관리를 반복 해야 한다고 가정하자. 그리고 관리할 시스템이 여러 대

라고 생각해 보자.

그럼..아마 관리자는 시스템의 가장 기본이며 중요하지만 일상적인 관리만

하다가 하루를 보내게 될것이다. 여러대의 시스템을 보다 효율적이고 정확한

관리를 위해선 [자동화]란 것이 필수적이다.

이런 시스템 관리의 자동화에 꼭 필요한 분야가 SHELL PROGRAMMING 이라 할수

있다. SHELL PROGRAMMING 이란 shell script 를 작성할때 사용되는 프로그램

언어라고 생각하면 될것이다.

Shell Script 란 DOS 의 Batch 파일과 비슷하다고 생각하면 된다.

일련의 작업 과정을 나열한 파일을 참조하여 그 작업들을 순서되로 실행한다

고 보면 된다. 여기서 Shell Programming 문법을 통해 일을 보다 효율적이고

간결하게 처리 할수 있게 되어진다. 리눅스나 유닉스에선 자체 OS 에서 지원

되는 다양한 명령어들을 Shell script 에 사용할수 있기 때문에 보다 강력한

관리 효과를 누릴수 있게 된다.

Shell 에는 Bourne shell, C shell, Korn shell, 그리고 Linux 에서 주로 사

용되는 Bash shell 등이 있다. 여기에선 shell 의 시초라고 할수 있는 본쉘

(Bourne shell) 위주로 알아보도록 하겠다.

앞에서 잠시 얘기 했듯이 리눅스나 유닉스에서 shell script 는 OS 에서 지

원하는 다양한 명령어를 이용하기 때문에 단순히 shell programming 만 안다

고 해서 shell programming 을 잘하는것이 아니다. 어떻게 보면 관리자로써

의 모든 관리 기반 지식과 기법을 알고 있을때 유용한 shell script 를 만들

수 있을것이다. shell programming 은 하나의 관리 인터페이스 언어이지 이

언어 자체가 OS 를 제어하는 것은 절대 아니다. 그러므로 어느정도의 관리능

력이 있는 지에 따라서 얼마나 강력한 script 를 만들수 있는 것이다.

즉 .. shell programming 을 하기 전에 먼저 리눅스에 대해 이해해야 하고

리눅스에서 사용할수 있는 수 많은 명령어 ..특히 시스템 관리 명령어 사용

법에 대해 알고 있어야 한다.

강좌 방향은 기초적인 쉘프로그램 문법과 그 예제, 그리고 실전 관리 스크

립터 소개하는 방향으로 진행해 나갈 생각이다.

리눅스 명령어나 기반 지식에 대해서는 http://sysmng.com 의 리눅스 코너

를 살펴 보기 바란다.

먼저 강좌에 들어 가기전에 …어떤 책에 기재된 컬럼을 소개 한다.

그냥 쉘스크립트를 익히기전에 마음을 정리하는 뜻에서..^^;;;

게으름의 미덕 ————

스크립트를 작성하는 사람은 게으르다. 게으름은 당신의 업무를 보다 쉽

고 효율적으로 만들거나, 심지어 즐거움을 줄 새로운 도구들과 유틸리티

등을 생성할때 매우 중요한 시스템관리의 덕목이다. 부지런한 사람은 끊

임 없이 같은 명령어를 타이프하며, 둔감(?)한 사람은 작업을 보다 빠르

게 하기 위해서 스크립트를 작성한다. 그리고 진실로 게으른 사람은 모든

종류의 작업을 빠르게 하기위하여(심지어 시작할때 그들이 생각지 않은

것까지 포함하여) 유틸리티와 프로그램을 개발한다.

————————–

위의 말은 번역본을 번역한거라 단어의 사용이 적절치 못한 부분이 몇

있지만…한번쯤 생각해 볼만한 내용이다.

쉽게 말하면 시스템 관리에는 부지런함도 중요하지만 ..그 못지않게

관리의 유연성과 독창성 역시 중요하단 말인거 같다. 무조건 삽질 보다

는 다른 방면에서의 접근과 보다 나은 관리 방안의 개발을 하기 위해

게으름을 피워야 된다는……..^^;;;;;;;;;;;;;;;;;;; 흠..아무튼..

강좌를 시작하도록 하죠..

* 서진우님에 의해서 게시물 복사되었습니다 (2004-10-07 16:02)

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.