셸 스크립트. 전산 혹은 정보보호 업무를 수행하시는 분들은 한 번 쯤, .sh 파일을 실행시켜보셨을 거예요.

서버 운영 업무도, 취약점 점검 업무도 다 범용적으로 사용하는 기술이죠.

 

저는 기존에 작성된 셸 스크립트를 실행만 시켜보다가 원하는 결과값을 얻을 수 있도록 셸 스크립트를 수정해보고 싶던 차에 이 책을 접하게 되었어요.

 

"셸 스크립트는 일반적으로 사용하는 명령어들과 if, for문과 같은 프로그래밍적인 요소가 가미된 인터프리터 기반의 스크립트 언어"라고 해요.

 

명령어들을 한 파일에 쭉 작성하여 셸 스크립트 하나만 실행시키면 하나하나 일일이 명령어를 입력하지 않고, 다중 명령어들이 쭉 실행되는 거죠.

 

셸 스크립트는 sh, 배시 셸(bash), 콘 셸(ksh) , csh, tcsh, zsh 등 여러가지 종류가 있는데, 이 책에서는 리눅스에서 가장 많이 사용하는 bash 셸을 기준으로 설명되어 있어요.

 

셸 스크립트는 주로 유닉스/리눅스 계열 운영체제가 설치된 곳에서 사용해요.

확장자는 .sh 이고, 셸 스크립트 시작부분은 #!/bin/bash 로 시작합니다. 셸 스크립트 파일이라는 것을 알려주는 부분이죠.

 

스크립트 작성 후, 실행을 위해서는 "sh 파일명.sh" 으로 실행하면 됩니다.

 

책의 목차는 다음과 같습니다.

 

1부. 셸 스크립트 기초

  chapter 1. 셸 스크립트란 : 셸 스크립트가 무엇인지, 언제, 누가, 어디에서 쓰는지 설명하는 챕터입니다.

  chapter 2. 셸 스크립트 기초 문법 : 변수, 조건문, 반복문, 연산자, 정규 표현식을 설명하는 챕터입니다.

2부. 가장 많이 쓰는 리눅스 명령어

  chapter 3. 문자열을 찾을 수 있는 grep

  chapter 4. 파일을 찾을 수 있는 find

  chapter 5. 특정 인덱스 문자열을 출력할 수 있는 awk

  chapter 6. 찾은 문자열을 바꿀 수 있는 sed

  chapter 7. 날짜와 시간을 알려주는 date

3부. 예제와 함께 하는 셸 스크립트 활용

  chapter 8. 시스템 구축 : 사용자 계정 생성, SSH 키를 여러 서버에 복사, 다수 서버에 NTP 설치, Timezone 설정, 오픈스택 인스턴스 생성, 패키지 리포지터리 다운로드

  chapter 9. 환경 설정 : sshd, ntp서버, lvm 환경설정부터 NFS 스토리지 마운트, 네트워크 IP 설정하는 셸 스크립트 예제

  chapter 10. 보안 : 패스워드 설정 법칙 적용, 패스워드 변경 주기 설정, 권한 변경, firewall 포트 추가, 사설 인증서 생성

  chapter 11. 모니터링 : IPMItool 사용하여 서버 전원 체크, 네트워크 상태 모니터링, 서비스 상태 체크, Pacemaker 상태 체크, CPU 및 메모리 상태 체크, 서비스 로그 모니터링, 컨테이너 실행 상태 모니터링, 일일 시스템 점검 모니터링

  chapter 12. 클라우드 시스템 운영

  chapter 13. 퍼블릭 클라우드 사용

 

이 책에서는 셸 스크립트를 처음 작성하는 사람이 보면 딱 좋은 책인 것 같아요.

셸 스크립트의 역사~셸 스크립트 실행방법~작성 시작부터 변수선언, 각종 명령어들을 

쉽게 설명하고 있어요.

또, 셸 스크립트를 본인의 업무 경우에 활용할 수 있도록 다양하게 예제들을 제시하고 있어요.

 

특히, 3부 예제와 함계 하는 셸 스크립트 활용 부분에서는

예제별로

 

1. 상황

2. 방법 찾기 (필요한 정보, 프로세스)

3. 스크립트 생성

4. 문제 해결

 

의 절차대로 예시를 제시하고 있어서 경우에 따라 담당자가 활용하기 쉽게 흐름이 적혀있어요.

 

책 사이즈도 일반 전산 책보다 살짝 작고 두껍지도 않아서 빠르게 읽기 좋은 책이에요.

다 보고나니, 셸 스크립트 개발을 시작해보고 싶은 분들에게 먼저 추천해드려도 정말 괜찮은 책인 것 같습니다 :)