본문 바로가기

도서 소개

김태용의 리눅스 쉘 스크립트 프로그래밍 입문

 

김태용의 

리눅스 쉘 스크립트 프로그래밍 입문

중국 및 대만 판권 수출 도서!


출판사          제이펍

저  자          김태용

감수자          안광선

출판일          2009년 9월 30일

페이지          704쪽

판  형          4*6배판 변형(188*245) 반양장(Soft Cover)

정  가          32,000원

ISBN           978-89-962410-2-7  부가기호: 93560

분  야          운영체제 / 리눅스 / 유닉스

관련 사이트: 한국리눅스유저코리아(KLUG) 책 내용에 대한 Q/A는 이 사이트에서 이뤄집니다.

샘플 PDF: 4장 grep 패턴 검색

제이펍_리눅스쉘스크립트_ch04.zip

도서 구매사이트
강컴  교보문고  도서11번가  리브로  반디앤루니스  알라딘  영풍문고  예스이십사  인터파크 

도서 소개

이 책은 서버뿐만 아니라 최근 이슈가 되고 있는 임베디드 시스템에서도 널리 사용되는 리눅스 OS에서 꼭 알아야 할 필수 요소인 쉘(Shell) 프로그래밍 요소를 학습한다. 특히, 현재 대한민국의 포털 사이트, 기업 등에서 사용하고 있는 주류 배포판인 CentOS(Community ENTerprise Operating System)를 기반으로 각종 리눅스 명령과, 리눅스 쉘 스크립트 프로그래밍 예제를 작성하고 테스트함으로써 독자들의 선행(先行) 학습에 많은 도움이 될 것이다. 리눅스에 대한 추가적인 지식 공유는 1만 3천여 명의 공학인들이 활동하고 있는 한국리눅스유저그룹(http://www.lug.or.kr) 사이트를 참고하면 도움이 될 것이다.


이 책의 특징은 다음과 같다.

▶ 이 책은 리눅스 학습에 있어서 반드시 필요한 쉘(본쉘, 배시쉘) 명령어들과 함께 리눅스의 전반적인 시스템 요소를 학습한다.

▶ 이 책은 리눅스 서버뿐만 아니라 임베디드 리눅스에서도 꼭 알아두어야 할 기초 지식에 대해 학습한다.

▶ 이 책은 리눅스 서버 운영에 있어서 필수 요소인 쉘 스크립트 프로그래밍에 대한 이해와 예제를 통하여 생각하는 관리자, 생각하는 프로그래머가 될 수 있도록 독자들의 지식 레벨을 업그레이드한다.


이 책은 다음의 독자를 대상으로 하고 있다.

▶ 리눅스 사용자, 리눅스 입문자

▶ 리눅스 시스템 관리자

▶ 웹서버, FTP서버, 메일서버 관리자

▶ 리눅스 서버를 사용하고 있는 웹 프로그래머(PHP, JSP 등)

▶ 리눅스 시스템 프로그래머(Embedded Linux 포함)

▶ 대학, 학원 등의 시스템 관리자 수업, 웹 프로그래밍 수업 교재


이 책의 주요 내용

1장 리눅스 쉘과 명령어 기초

쉘 스크립트를 공부하기 이전에 알아두어야 할 리눅스와 쉘에 대한 기초 명령어들과 리눅스의 디렉토리 구조, 입출력 리다이렉션, 파이프, 퍼미션, 잡 컨트롤, 시스템 관리자 명령어들에 대하여 공부한다.


2장 쉘 스크립트 맛보기

리눅스 OS의 부팅 과정과 로그인 쉘의 초기화 과정을 공부하고 프로세스와 쉘, 시스템 콜, 변수와 본 쉘(/bin/sh)의 기본 문법, 배시 쉘(/bin/bash)의 기본 문법, 각종 메타 문자들에 대해 공부한다.


3장 정규표현식과 패턴 검색

리눅스 쉘에서 문자열 검색을 위하여 사용할 수 있는 정규표현식과 패턴, 각종 메타 문자들에 대해 공부한다.


4장 grep 패턴 검색

입력되는 파일에서 주어진 패턴 목록과 매칭되는 라인을 검색하여 표준 출력으로 검색한 라인을 복사해서 출력해 주는 grep 명령어와 egrep, fgrep에 대해 공부한다.


5장 sed 유틸리티

sed(stream editor)는 비대화형 모드의 라인 단위 에디터이며, 표준 입력 또는 파일로부터 텍스트를 입력받아 주어진 라인들에 대해 한 번에 한 라인씩 어떤 처리를 한 다음, 그 결과를 표준 출력이나 파일로 보낸다. 이번 장에서는 sed 스트림 에디터에서 사용하는 연산자와 동작 원리, 메타 문자들, 정규표현식에 대해 공부한다. 일반적으로 vi(m) 편집기에서 유용하게 사용할 수 있다.


6장 awk 프로그래밍

awk는 데이터를 조작하고 리포트를 생성하기 위해 사용하는 프로그래밍 언어이다. awk 프로그래밍 형식과 옵션들, 각종 변수들, 표현식, 연산자, 리다이렉션, 파이프, if 조건문, loop 순환문, 각종 함수들에 대해 공부한다.


7장 bash 쉘 프로그래밍

이번 장에서는 앞서 공부한 명령어들과 유틸리티들을 사용하여 bash 쉘 스크립트 프로그래밍을 하기 위한 문법 사항들 및 관련 예제를 작성하고 그 실행 결과를 화면으로 보면서 공부한다. 각종 변수와 연산자, 위치 파라미터, 명령 라인 아규먼트, 조건문, 루프문, 함수들에 대해 공부하고 리눅스의 시작 스크립트를 분석하고 dialog 유틸리티를 사용하여 간단한 Text Based GUI 예제를 만들어본다.


8장 vi(m) 편집기와 유용한 유틸리티

리눅스에서 없어서는 안 될 편집기인 vi(m)에 대해 공부한다. 보다 향상된 기능을 지원하는 vim의 Normal Mode, Command Mode, Visual Mode에서 사용할 수 있는 각종 명령들에 대해 공부하고 검색과 치환, 매크로, 여러 개의 편집창을 사용하는 방법에 대해 공부하며 기타 유용한 유틸리티에 대해 공부한다.


저자 소개
김태용

경북대학교 컴퓨터공학과 석사과정을 마쳤으며, LG전자 모니터사업부 연구원으로 사회생활을 시작하였다. 천리안 시절부터 리눅스 동호회에서 활발한 활동을 해온 저자는 현재 국내 최대의 리눅스 동호회로 성장한 한국리눅스유저그룹(1998년, http://www.lug.or.kr)을 조직하였다. 정보통신부 시절에 한국리눅스협의회의 운영위원, 기술위원으로 활동하였으며, KT, LG전자, 조달청, 부산상공회의소, 연세대학교, 부산대학교를 비롯한 20여 곳의 기업체 및 관공서 그리고 대학교 등에서 리눅스 세미나 지원과 강연을 하였고, 한국소프트웨어진흥원(KIPA), 대구디지털산업진흥원(DIP), 한국전자통신연구원(ETRI) 등과 함께 공개소프트웨어 프로젝트 등에 참여하였다. 현재는 영진전문대학에서 리눅스 강의와 한국리눅스유저그룹의 회장으로 활동하고 있다. 리눅스를 필두로 한 공개소프트웨어 확산을 위해 애쓰고 있는 저자는 공학/기술인의 위상을 높이고 공학과 기술 중심의 Technation Korea 건설을 위한 공학정치 실현에도 힘쓰고 있다.

저서로는 다음이 있다.

『CentOS 리눅스 구축관리 실무』, (2007)

『김태용의 C++ 기초 입문: gcc로 공부하는 C++와 wxWidgets GUI』, (2009)

『김태용의 JSP 웹 프로그래밍 입문(출간예정)』, (2009)


감수자 소개

안광선 _ 경북대학교 컴퓨터공학과 교수


추천서 작성자 소개

박재홍 _ 영진전문대학 컴퓨터정보계열 교수

김병철 _ (사)한국인터넷호스팅협회 협회장, (주)스마일서브 대표이사

신민석 _ 한국소프트웨어진흥원 산업진흥단 공개SW사업팀 책임연구원

이영준 _ 대구디지털산업진흥원 책임연구원

장기영 _ 방송통신인력개발센터 부장

박준규 _ (주)한글과컴퓨터 상무

김준수 _ (주)로그 연구소장

박수주 _ 야후코리아(주) 과장

김재연 _ 미국 텍사스 오스틴 대학교 컴퓨터과학 박사과정

차성진 _ 호스트센터(주) 대표이사

정경호 _ 경운대학교 컴퓨터공학과 교수


추천평

정경채 _ 서울리눅스유저그룹 리더

저자를 알게 된 지 벌써 10여 년의 세월이 흘렀습니다. 저자는 우리나라에 리눅스라는 이름이 크게 알려지지 않은 때부터 리눅스에 대한 마음이 다른 사람들과는 조금 달랐습니다. 사비를 털어서 리눅스 세미나를 열었고, 리눅스유저그룹을 통해 끊임없이 리눅스 정보를 배포하고 알리기 위해 노력했습니다. 어떤 이들은 외골수라고 저자를 부르기도 합니다. 하지만 저자는 리눅스의 확산을 위해서 정부부처뿐만 아니라 여러 리눅스 기업들이 우리나라 시장에 뛰어들었을 때 많은 조언과 관심으로 우리나라 리눅스 발전에 많은 공헌을 했다고 해도 과언은 아닐 것입니다. 그런 저자가 이제 후진들을 위해 책을 쓴다는 이야기를 듣고 참 반가웠습니다. 지난 번 『CentOS 리눅스 구축관리 실무』를 읽으면서 누구나 따라 할 수 있도록 쉽게 풀어 쓴 글을 보며 많은 노력을 기울였다는 생각이 들었습니다. 그리고 이번 『김태용의 쉘 스크립트 프로그래밍 입문』 도서도 많은 이들이 기다렸을 책이라는 생각이 듭니다. 리눅스를 사용하면서 가장 중요한 것 중 하나가 바로 ‘쉘 스크립트 프로그래밍’입니다. 그리고 저자는 이 부분에 대해 누구든 쉽게 시작할 수 있도록 서술하고 있습니다. 리눅스 쉘 스크립트를 배우기 시작하려는 많은 분들께 고민 없이 선택해도 될 책이라 전하고 싶습니다.



김기종 _ 영진전문대학 컴퓨터정보계열 교수

저자의 풍부한 실무경험을 바탕으로 저술하여 서버관리자에게 필수적 능력인 쉘 프로그래밍을 익히기 위한 좋은 기본서가 될 수 있을 것이라 생각됩니다.


정왕부 _ 대구 경암중학교 교사, 한국리눅스유저그룹 부회장

이번 책은 저자의 실무적인 시스템 운영 경험을 바탕으로 구성되었습니다. 체계적인 내용 전개와 쉬운 설명으로 누구나 쉘 스크립트 프로그래밍에 대해 쉽게 접근할 수 있도록 쉽게 쓰인 책이라고 할 수 있습니다. 한 권쯤 책장에 꽂아놓고 두고두고 보고 싶은 책입니다.


박종호 _ 일본 동경대학교 정밀기계공학 박사과정

리눅스를 사용하면서 사용자의 입장에서 가장 기본적이고 중요한 것 중에 하나가 쉘스크립트와 그와 관련된 프로그래밍에 대한 지식이 아닐까 생각합니다.


그런 의미에서 다년간 리눅스 관련 프로그래밍을 해온 저자의 지식과 실무경험을 바탕으로 이루어진 이 책은 입문자들에게 아주 적당한 도서로서, 쉘 스크립트 프로그래머들에겐 중요한 쉘 스크립트 기본서가 될 것이라고 생각합니다.


읽기 쉽고 또 이해하기 쉬운 쉘 스크립트 프로그래밍의 입문서로서 손색이 없는, 리눅스 사용자라면 누구나 한 번쯤 생각하고 기다려왔던 책으로 망설임 없이 추천해드립니다.


김동영 _ 책임테크툴(주) 경영정보실 이사

실무에서 아주 유용하게 활용할 수 있는 아주 좋은 리눅스의 길잡이가 바로 이 책이라 생각됩니다.


이종태 _ 책임테크툴(주) 차장

유통업체에서 전산업무를 담당하고 있는 지금의 저로서는 새로운 것을 접하여 지식을 늘리기는 상당히 어렵고 힘이 드는 과정입니다. 책을 보더라도 생소하고 이해하기가 쉽지 않기 때문입니다. 하지만 이 책은 저자의 관심과 열정을 엿볼 수 있고 내용도 체계적으로 잘 구성되어 있어서 이해가 쉽게 됩니다. 실무에 맞게 유용하게 작성되어서 많은 지식을 얻을 수 있으리라 생각합니다.


김진우 _ (주)씨디네트웍스 차장

어떤 임무를 수행하든 실무자라면 쉘 스크립트는 반드시 필요할 것입니다. 이 책에는 쉘스크립트 작성에 필요한 기본적이지만 중요한 명령어들에 대한 설명에서부터 프로그래밍까지 망라하고 있습니다. 이 책은 관련 서적을 찾고 기다리던 이들의 갈증을 해소해줄 것입니다.


김성기  _ 마이크론웨어(주) 대표이사

"리눅스 쉘에 대한 지식을 쉽고 빠르게 습득할 수 있는 계기"


리눅스 환경을 이해하기 위해서는 쉘 명령과 구조를 이해하는 것은 반드시 필요합니다. 이러한 필수 요소인 쉘을 쉽고 빠르게 이해하기 위해서는 쉘 명령을 쉽고 빠르게 접할 수 있는 입문서가 필요하다고 할 수 있습니다. 또한 리눅스 쉘 프로그래밍을 활용하면 중복된 프로그래밍 과정을 줄이고 관리자로서 혹은 개발자로서의 리눅스 활용 능률을 극대화할 수 있을 것입니다.


가끔 관리자들이나 프로그래머들이 자신만의 리눅스 환경과 개발 환경 설정에 미숙한 경우를 많이 보아왔습니다. 또한 리눅스와 쉘에 대한 기초적인 지식이 없이 일부 사용된 명령에만 치우친 경우도 많습니다. 제대로 알고 제대로 사용하고자 할 경우뿐만 아니라 리눅스 이해에 어려움이 많은 이들에게 진입장벽을 낮추고 쉽게 설명된 쉘 입문서가 필요하다면 본 도서는 리눅스 쉘 입문자들에게 훌륭한 지침서가 될 것이라 믿습니다.


박찬흠 _ 영남대학교 컴퓨터공학과 박사수료

2003년 어느 겨울날 저자와의 인연이 시작되었습니다. 저자의 리눅스에 대한 열의와 사랑은 한국 리눅스 모임인 ‘한국리눅스유저그룹’이라는 커뮤니티를 탄생시켰으며, CentOS의 바이블이라 해도 과언이 아닌 『CentOS 리눅스 구축관리 실무』를 집필하였습니다.


대부분의 리눅스 유저는 리눅스를 설치하고 서버로서의 기능만 확인하면 그 다음 응용으로서의 활용단계에서 주저해버립니다. 본서는 여기에 날개를 달수 있는 방법을 제시한다고 할 수 있습니다. 리눅스의 기본적인 사용법과 쉘에 대한 이해와 활용, 그리고 유용한 유틸리티를 소개하고 사용법을 제시하고 있습니다. 리눅스 유저의 한 사람으로 기쁘지 않을 수 없습니다.


『김태용의 쉘 스크립트 프로그래밍 입문』이라는 도서를 통해 더 많은 리눅스 유저가 활동하고 리눅스를 활용하는 데 있어 가뭄의 단비가 되리라 생각합니다. 다시 한 번 더 본서의 출판을 축하하며 저자의 리눅스에 대한 열의와 사랑에 박수를 보냅니다.


차 례

1장  리눅스 쉘과 명령어 기초

1.1  리눅스와 쉘

1.2  리눅스 환경

1.3  쉘 스크립트 준비운동

1.4  리눅스 디렉터리 여행

1.5  입출력 리다이렉션과 파이프

1.6  퍼미션

1.7  잡 컨트롤

1.8  시스템 관리자 명령어 정리


2장  쉘 스크립트 맛보기

2.1   리눅스의 부팅 과정과 로그인 쉘

2.2   명령라인 파싱

2.3   명령어 타입

2.4   프로세스와 쉘

2.5   변수(본 셀)

2.6   본 쉘

2.7   배시 쉘 문법과 구조

2.8   명령라인

2.9   잡 컨트롤

2.10  명령라인 숏컷

2.11  앨리아스

2.12  디렉터리 스택 조작

2.13  메타문자들

2.14  파일명 치환하기

2.15  변수(배시 쉘)

2.16  인용부호

2.17  명령 치환

2.18  산술 확장

2.19  쉘 확장 순서

2.20  배열

2.21  함수

2.22  표준 입출력과 리다이렉션

2.23  파이프

2.24  쉘 호출 옵션


3장  정규표현식과 패턴 검색

3.1  정규표현식


4장  grep 패턴 검색

4.1  grep

4.2  egrep

4.3  fgrep


5장  sed 유틸리티

5.1  sed


6장  awk 프로그래밍

6.1  awk

6.2  awk 프로그래밍 형식

6.3  awk와 정규표현식

6.4  스크립트 파일에서의 awk

6.5  비교 표현식

6.6  awk 변수

6.7  awk 리다이렉션

6.8  awk 파이프

6.9  조건문

6.10  loop 순환문

6.11  프로그램 관리 문장

6.12  배열

6.13  awk 빌트인 함수(1)

6.14  awk 수학적 빌트인 함수

6.15  사용자정의형 함수

6.16  기타

6.17  awk 빌트인 함수(2)


7장  bash 쉘 프로그래밍

7.1  소개

7.2  사용자 입력 읽기

7.3  산술 연산

7.4  위치 파라미터와 명령라인 아규먼트

7.5  조건문과 분기문

7.6  루프 명령

7.7  함수

7.8  트래핑 시그널

7.9   bash 스크립트 디버깅

7.10  명령라인

7.11  bash 옵션들

7.12  쉘의 빌트인 명령들

7.13  쉘 비교표

7.14  리눅스 시작스크립트 분석

7.15  bash 스크립트를 이용하여 Text GUI를 만들어 보자.


8장  vi(m) 편집기와 유용한 유틸리티

8.1   vi(m) 편집기- vi improved

8.2   vi(m) 튜토리얼

8.3   유용한 유틸리티