본문 바로가기
지식 공유/리눅스

쉘 스크립트란?

by missio 2019. 7. 19.

안녕하세요. 미씨오입니다.

쉘 스크립트에 대해 간단한 설명 공유드립니다.

 

 

쉘 스크립트 :  (Shell)은 사용자가 입력한 명령을 해석해서 커널에 전달하고, 커널의 실행 결과를 다시 사용자에게 전달해주는 역할을 하는데  일반적인 프로그램에서의 컴파일러(interpreter:해석기:사람-컴퓨터기능이 필요없이 직접 메모장 등에 명령어를 기록해서 실행할 수 있기 때문에 매우 강력하고도 가벼운 프로그래밍 언어이다.

 

C/C++ 과 같은 형태로 이뤄지므로 Windows(쉘과 유사한 작동을 해오던 batch 프로그래밍 언어에서 진보된 매우 강력한 Linux에서의 bash, kcrn... 쉘과 유사한 기능의 power shell 이라는 도구가 windows 7/windows server 2008부터 추가되었다)/linux 계통에서 작동한다.

 

bash(Bourne Again Shell)

모든 Linux의 기본 쉘인데 이는 Korn shell(ksh), C shell(csh)의 빠르기와 장점을 합한 쉘이다.

- history(default 20개의 명령어를 기억), Alias(별칭:cname [canonical name]) 기능이 있다, 연산기능 job control 기능, TAB키를 사용한 자동완성기능, Prompt(프롬프트)[fedora@localhost ~]# 제어기능 명령어 편집기능이 있으며, 확장 명령어를 사용할 있다.

 

보통 쉘 명령어를 사용할 때 여러 옵션/인자(argument)를 줄 수 있는데 commands options arguments의 형태를 이룬다.

 ls ; ls -l ; rm -rf /mydir ; find . -name "*.txt" ; 이들에 대한 정보는 man page를 사용하거나 명령어 --help를 사용해서 정보를 얻을 수 있다.man ls or ls --help 식이다.

 

쉘도 프로그래밍 언어이기 때문에 C/C++ 프로그래밍 언어와 유사하게 변수, 제어문, 반복문 형태가 존재한다.

별도의 편집기(이클립스...등등)는 필요없이 메모장에서 작성하면 된다.
ex) gcc/g++ -p a.out
식의 컴파일 과정이 필요없다.

 

linux를 배우면서 쉘을 강조하는 이유는 Linux에서 사용되는 여러서버 프로그램이나 모듈이 대부분 쉘 형태로 되어있기 때문이다서버 관리나 보안을 위해서는 perl, Ruby(meterpreter), python, PHP() html 기본, java scripts, C(C++), power shell등을 이해하고 있으면 좋다.

 

다음글에 대해서는 추가적인 쉘 스크립트에 대해 설명해드리도록 하겠습니다.