처음배우는셸스크립트
대상독자
이 책은 처음 셸 스크립트를 이해하고 다루는 데 필요한 기본기를 쌓으려는 개발자, 시스템 엔지니어, IT 분야 전공 학생들을 대상으로 하고 있습니다.
처음 스크립트를 다루는 사람들의 눈높이 맞춰 집필이 되어 있습니다.
이 책의 구성
1부 : 셸 스크립트란?
셸 스크립트의 역사에 대하여 간략하게 설명합니다.
1.1 셸 스크립트가 뭐죠?
셸 스크립트는 Unix나 Linux 또는 POSIX를 지원하는 운영체제인 macOS 등에서 사용하는 일반적인 명령어들과 프로그래밍적인 요소로 이루어진 인터프리터 기반의 스크립트 언어입니다.
1.2 셸 스크립트는 어디에서 쓰나요?
셸 스크립트는 리눅스나 유닉스가 설치되어 있는 곳이라면 어디에서나 사용할 수 있습니다.
그것이 물리서버이거나, 가상 서버이거나 또는 컨테이너가 될 수도 있습니다.
=============================================================
2장 : 셸 스크립트 기초 문법
셸 스크립트를 다루기 위한 기본적인 문법에 대하여 학습하는 절입니다.
2.1 셸 스크립트 만들기
셸 스크립트를 만들기 위해서는 vi나 vim 에디터를 이용하여 만드는것이 좋습니다.
실습을 위해서 우분투를 설치해야 하는데 윈도우10에서 우분투를 직접 설치하여 실습이 가능하다.
설치 방법에 대해서는 아래 블로그를 참고하였다.
https://forbes.tistory.com/543
2.2 변수 사용하기
애플리케이션을 개발하다 보면 특정 연산을 수행한 후 결과를 이용하여 또 다른 연산을 할 경우가 많은데 셸 스크립트를 개발할 경우에도 사용이 가능합니다.
- POSIX 기본 및 확장 문법은 텍스트를 찾기 위한 패턴을 표현하기 위해 사용되는 표현식
- POSIX 문자 클래스는 찾고자 하는 문자열의 종류를 찾을때 사용합니다.
- 기타 다양한 정규 표현식을 예제를 통하여 학습할 수 있습니다.
=============================================================
2부 : 가장 많이 쓰는 리눅스 명령어
3장 문자열을 찾을 수 있는 grep
리눅스나 유닉스에서 가장 많이 쓰는 명령어는 특정 디렉터리나 로그, 환경 설정 파일 등에서 특정 문자열을 찾는 grep 명령어입니다.
이번 장에서는 grep 사용법 및 다양한 옵션들에 대해서 학습 합니다.
3.1 grep 사용법 알아보기
이번 절에서는 grep의 기본 사용법에 대하여 설명합니다.
3.2 grep의 다양한 옵션들
이번 절에서는 기본 사용법 예제의 옵션들 외에도 많은 옵션들이 있는데 grep에서 제공하는 다양한 옵션들에 대하여 학습합니다.
- 정보 관련 옵션, 패턴 문법 관련 옵션, 매칭 제어 관련 옵션, 출력 제어 관련 옵션, 출력라인 제어 관련 옵션, 컨텍스트 라인 제어 관련 옵션,파일 및 디렉터리 관련 옵션, 기타 옵션
이번 장에서는 다양한 grep의 사용법에 대하여 알 수가 있습니다.
============================================================
4장 파일을 찾을 수 있는 find
find는 사용자가 지정한 기준에 따라 파일을 찾고, 사용자가 정의한 행위에 매칭되는 파일을 시스템 디텍터리 트리를 검색하여 파일을 찾아주는 명령어 유틸리티입니다.
4.1 find 사용법 알아보기
find는 상황에 따라서 원하는 파일을 잘 검색할 수 있도록 다양한 옵션과 표현식을 제공합니다. 이 절에서는 find의 기본 사용법에 대하여 학습합니다.
4.2 find의 다양한 표현식
find는 사용자가 필요로 하는 조건으로 파일을 찾기 위한 방법을 옵션이 아닌 표현식으로 제공합니다.
이번 절에서는 테스트, 연산자, 액션, 위치옵션에 대하여 학습하고 다양한 예제를 실습해 볼 수 있습니다.
예) expr 연산자 사용하기, ! expr 사용하기 등
4.3 find 옵션
find 에서 제공하는 옵션에 대하여 설명합니다.
- 심볼릭 링크 관련 옵션, 디버그 관련 옵션, 레벨 관련 옵션
자주 사용되는 find 명령어를 알아 보았습니다. 이번 절에서 find를 이용하여 좀 더 쉽게 원하는 파일을 찾을 수 있도록 연습을 해보는게 좋을 듯 합니다.
============================================================
5장 특정 인덱스 문자열을 출력할 수 있는 awk
이번 장에서는 쉡 스크립트 작성시 주로 사용되는 시스템 파일 목록, 컨테이너 목록, 애플리케이션 실행 결과에서 특정 컬럼에 해당하는 문자열을 추출하는 등 이와 관련하여 awk 명령어를 알아보고 사용법을 익히도록 합니다.
============================================================
6장 찾은 문자열을 바꿀 수 있는 sed
이번 장에서는 특정 문자열을 찾아 원하는 문자열로 변경하고, 범위를 지정하고 해당 범위의 문자열을 변경하는 방법에 대하여 설명합니다.
============================================================
7장 날짜와 시간을 알려주는 date
이번 장에서는 날짜와 시간을 알려주는 date 명령어 대하여 설명합니다.그리고 자주 사용되는 사용법과 옵션에 대하여 설명합니다.
============================================================
3부 예제와 함께 하는 셸 스크립트 활용
이전 1부와 2부에서는 셸 스크립트를 생성하기 위한 기초 지식을 습득하는 것이었다면 이번 3부에서는 실무에서 다양하게 활용할 수 있는 지식을 습득합니다.
8장 시스템 구축
이번 장에서는 시스템을 구축하면서 여러 상황이 발생할 수 있는데 셸 스크립트를 이용하여 문제를 효율적으로 해결하는 방법에 대하여 설명합니다.
이번 절에서는 상황을 설정하고 그 상황을 해결하기 위한 방법을 찾는 형태의 설명과 실습을 진행하고 있습니다. 이렇게 문제 해결을 위한 방법까지 제시하고 있어 실제 문제를 해결하기에 충분합니다.
============================================================
9장 환경 설정
이번 장에서는 서버에 운영체제를 설치하고, 다양한 애플리케이션들을 설치하다가 발생하는 여러 상황에 대하여 해결하는 방법과 그에 대한 실습으로 진행하고 있습니다.
============================================================
10장 보안
이번 장에서는 다양한 업무를 처리하기 위한 웹 상의 시스템에서 리눅스 환경에서 적용되는 가장 기본적인 보안 적용 상황에 어떻게 셸 스크립트를 이용하여 효율적으로 시스템 보안을 적용하는지에 대하여 설명하고 실습합니다.
============================================================
11장 모니터링
이번 장에서는 시스템 구축 후, 운영으로 전환되면 서비스가 정상적으로 이루어지고 있는지를 확인하기 위한 운영체제, 가상 환경, 애플리케이션 환경 등을 모니터링하기 위한 것에 대하여 설명합니다.
여러 서버 환경을 모니터링 하기 위한 셸 스크립트 사용법에 대하여 학습합니다.
============================================================
12장 클라우드 시스템 운영
이번 장에서는 대부분의 회사들이 클라우드 시스템을 사용하거나 클라우드 시스템을 구축하고 클라우드 서비스를 제공하는 곳이 많은데 이번장에서는 오픈소스 클라우드 플랫폼인 오픈스택을 이용하여 클라우드 시스템을 운영할 때 발생할 수 있는 다양한 상황에 대하여 학습합니다.
============================================================
13장 퍼블릭 클라우드 사용
이번 장에서는 클라우드 시스템을 가장 쉽게 사용하는 방법으로 퍼블릭 클라우드 시스템을 사용하는 것인데, 이번 장에서는 aws, gcp의 CLI 사용환경 및 가상자원 생성을 셸 스크립트화 해보는 학습을 합니다.
============================================================
이 책은 실무에서 적용하기 위한 기초 문법 및 유용한 리눅스 명령어들과 시무에서 어떤 문법과 명령어로 셸 스크립트를 작성하고 사용하는지가 잘 녹아져 있습니다. 다양한 실습과 예제가 충분히 책 한권에 녹아져 있기에 부족한 부분이 전혀 없습니다.
즉 책을 눈으로만 보지말고 직접 실습을 해보아야만 이 책의 진가를 알 수가 있습니다.
물론 초보자를 위한 세심한 배려가 좀 부족한 부분은 있으나 충분히 검색을 통하여 해결할 수 있습니다.
셸 스크립트를 이해하는데 앞으로 변하지 않을 기본적인 뼈대가 될 충분히 소장가치가 있는 책이라고 생각합니다.
앞으로 저의 옆에 항상 두고 두고 볼 그런 책입니다. 기본적인 셸 스크립를 사용하고자 하시는 분들은 한권정도 곁에 두고 있으면 아주 유용한 그런책입니다.
============================================================
본 포스팅은 한빛미디어에서 도서를 제공받아 직접 체험하고 작성한 솔직한 후기입니다.