리눅스

쉘 프로그래밍 소개

작성자
heukchoo
작성일
2021-01-17 23:50
조회
347
리눅스에서는 사용자와 컴퓨터의 소통을 위해 쉘(Shell)을 사용한다.

쉘은 이름 그대로 컴퓨터(리눅스 커널)를 감싸고 있는 껍질과 같다.
사용자는 껍질 바깥에서 안쪽의 컴퓨터를 제어하기 위해 쉘을 사용한다.

쉘은 다양한 명령어를 제공한다.
디렉토리 변경을 위한 cd, 파일 리스트를 보기 위한 ls 등이 쉘 명령어에 속한다.


뿐만 아니라 쉘은 프로그래밍을 위한 변수사용과 조건문, 루프문과 같은 기능을 제공한다.

쉘 프로그래밍 입문자를 위해 희망적인 먼저 얘기하자면 프로그래밍을 위해 모든 명령어와 기능들을 숙지할 필요는 없다.
일부 기능인 변수사용, 루프문, 분기문 정도만 알면 거의 모든 프로그래밍을 할 수 있다.

루프문도 for문, while문 등을 다 알 필요는 없다.
서로 대체 가능하며 구동방식과 사용법이 유사하다.

필수적인 내용을 연습해서 여러 과제들을 해보고 필요성이 생기면 그때그때 찾아서 공부하면 된다.


쉘 명령을 순차적으로 나열하여 스크립트로 작성하면 하나의 훌륭한 프로그램이 된다.
(물론 커맨트 환경에서 수행해도 되지만 수정하기 번거롭다.)

쉘 스크립트는 컴파일없이 바로 실행할 수 있어 사용이 간편하다.


또한 운영체제를 다루는 명령어와 각종 유틸리티 명령을 스크립트로 만들면 업무를 효율적으로 할 수 있다.
가령 수천개의 파일 내용을 일괄 수정하거나 파일명을 바꾸는 일은 하나하나 수행 한다면 많은 시간이 걸릴것이다.

쉘 스크립트는 이러한 일을 순식간에 처리한다.
물론 익숙하지 않으면 스크립트 만드는데에 수 시간이 걸릴 수도 있다.


참고로 cmder, Cygwin 등의 프로그램을 사용하면 윈도우 플랫폼에서 리눅스 쉘을 사용할 수 있다.
cmder은 포터블 프로그램으로도 제공되어 Cygwin 보다 사용이 간편하다.
cmder은 bash 쉘과 gawk, sed 등의 기본 명령어를 사용할 수 있다.






소개는 간략히 마치고 쉘 스크립트의 사용방법을 설명한다.


vi 등의 통해서 텍스트 편집기를 사용하여 스크립트를 작성하고 파일을 저장한다.

확장자는 어느것이든 상관없으니 개인이 식별할 수 있는 문자를 부여하면 된다.
(나는 주로 *.p)를 사용한다.


작성한 파일은 단순히 읽기, 쓰기 권한만 가진 문서로 실행 권한을 부여해야 한다.
$chmod +x 스크립트파일.p

$ls -l 스크립트파일.p

$./스크립트파일.p


chmod 는 파일 권한을 설정하는 명령이다.

위와 같이 실행하면 현재 사용자 계정 소유의 파일에 대하여 실행권한(x)을 줄 수 있다.

ls 명령으로 해당 스크립트파일에 실행권한이 부여되었는지 확인 할 수 있다.

./ 으로 실행권한의 파일을 실행할 수 있다



이상 글을 마치며, 앞으로는 쉘 프로그래밍의 필수적인 부분을 설명한다.

참고로 쉘은 종류가 많은데 필요한 경우를 제외하곤 가장 많이쓰는 bash 쉘을 기준으로 설명하겠다.
전체 0