1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

셸 스크립트 프로그래밍 입문 4/e-유닉스, 리눅스, OS X 환경에서 사용할 수 있는
저자 : 패트릭우드,스티브코찬 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 김용환

2017.12.28 ㅣ 488p ㅣ ISBN-13 : 9791161751009

정가35,000
판매가33,250(5% 할인)
적립금 1,400원 (4%)
배송일정 05월 02일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
이 책은 POSIX 표준 셸 기반으로 작성되어 있고 유닉스 또는 유닉스와 비슷한 프로그래밍 환경에서 셸 프로그램 개발 방법에 대한 설명을 소개한다. 먼저, 셸 프로그램에 많이 사용 중인 유틸리티와 셸의 동작 원리를 설명한다. 또한 다양한 예제를 통해 리눅스의 전반적인 환경과 리눅스 기초 지식을 얻을 수 있다. 그리고 정규 표현식, 셸 사용 방법, 사용자 환경, 매개 변수 전달 방법, 함수 생성 방법, 셸 언어의 버전 차이점도 단계별로 설명한다. 마지막으로 POSIX 셸 환경이 아닌 비표준 셸(Korn 셸, Bash 셸) 기능, 호환성을 살펴본다. 셸 프로그래밍 개발 경험 여부와 상관없이 모두에게 도움이 될 것이다. 게다가 개발 환경과 서버 환경과 상관없이 개발자, 데브옵스, 시스템 엔지니어 모두 POSIX 표준 셸 환경에서 개발할 수 있다
펼쳐보기

[목 차]

1장. 기초 내용 빠르게 살펴보기
기본 커맨드
- 날짜와 시간 출력: date 커맨드
- 로그인된 사용자 확인: who 커맨드
- 문자 출력: echo 커맨드
파일 작업
- 파일 출력: ls 커맨드
- 파일 내용 출력: cat 커맨드
- 파일의 단어 수 계산: wc 커맨드
- 커맨드 옵션
- 파일 복사: cp 커맨드
- 파일 이름 변경: mv 커맨드
- 파일 삭제: rm 커맨드
디렉터리에서 작업
- 홈 디렉터리와 경로 이름
- 작업 디렉터리 출력: pwd 커맨드
- 디렉터리 변경: cd 커맨드
- ls 커맨드
- 디렉터리 생성: mkdir 커맨드
- 특정 파일을 다른 디렉터리로 복사
- 디렉터리 간 파일 이동
- 파일 링크: ln 커맨드
- 디렉터리 삭제: rmdir 커맨드
파일 이름 대체
- 별표
- 일치하는 단일 문자
파일 이름의 미묘한 차이
- 파일 이름의 공백
- 기타 특이한 문자
표준 입력/출력과 I/O 리디렉션
- 표준 입력과 표준 출력
- 출력 리디렉션
- 입력 리디렉션
파이프
- 필터
표준 에러
추가 커맨드
- 한 라인에 하나 이상의 커맨드를 입력
- 커맨드를 백그라운드로 실행하기
- ps 커맨드
커맨드 요약

2장. 셸이란?
커널과 유틸리티
로그인 셸
셸에 커맨드를 입력
셸의 책임
- 프로그램 실행
- 변수와 파일 이름 대체
- I/O 리디렉션
- 파이프라인 연결
- 환경 제어
- 인터프리터 프로그래밍 언어

3장. 필요한 도구
정규 표현식
- 모든 문자와 일치: 마침표(.)
- 라인의 시작과 일치: 캐럿(^)
- 라인의 끝과 일치: 달러 기호($)
- 문자 집합과 일치: [...] 구문
- 0개 이상의 문자와 일치: 별표(*)
- 하위 패턴의 정확한 숫자와 일치 :\{...\}
- 일치하는 문자 저장: \(...\)
CUT
PASTE
sed
tr
grep
sort
uniq

4장. 함께 가는 여행
커맨드 파일
- 주석
변수
- 변수의 값 출력하기
- 정의되지 않은 변수는 널 값을 가진다
- 파일 이름 대체와 변수
- ${variable} 구문
내장 정수 연산

5장. 따옴표
작은따옴표
큰따옴표
역슬래시
- 역슬래시를 사용해 여러 라인에 걸쳐 커맨드 실행하기
- 큰따옴표 내의 역슬래시
커맨드 대체
- 역따옴표
- $(...) 구문
- expr 커맨드

6장. 매개변수 전달하기
$# 변수
$* 변수
전화번호부에서 특정 인물을 찾는 프로그램
전화번호부에 특정 인물을 추가하는 프로그램
전화번호부에서 특정 인물을 삭제하는 프로그램
- ${n}
shift 커맨드

7장. 결정, 결정
종료 상태
- $? 변수
test 커맨드
- 문자열 연산자
- test에 대한 대체 형식
- 정수 연산자
- 파일 연산자
- 논리 부정 연산자 !
- 논리 AND 연산자 -a
- 괄호
- 논리 OR 연산자 -o
else 구문
exit 커맨드
- rem 프로그램 다시 살펴보기
elif 구문
- rem의 다른 버전
case 커맨드
- 특수 패턴 매칭 문자
- 프로그램을 디버깅할 수 있는 -x 옵션
- case 살펴보기
널 커맨드 :
&&와 || 구문

8장. 루프
for 커맨드
- $@ 변수
- 리스트 없는 for
while 커맨드
until 커맨드
루프 더 살펴보기
- 루프에서 나가기
- 루프에서 나머지 커맨드 건너뛰기
- 백그라운드로 루프 실행하기
- 루프에서의 I/O 리디렉션
- 루프 안팎으로 데이터를 파이프로 연결하기
- 한 라인에서 루프 실행하기
getopts 커맨드

9장. 데이터를읽고출력하기
read 커맨드
- 파일을 복사하는 프로그램
- 문자를 이스케이프 처리하는 특별한 echo
- mycp를 개선한 버전
- mycp의 최종 버전
- 메뉴로 구동되는 전화번호부 프로그램
- $$ 변수와 임시 파일
- read의 종료 상태
printf 커맨드

10장. 사용자환경
지역 변수
- 서브셸
export 변수
- export -p
PS1과 PS2
HOME
PATH
현재 디렉터리
- CDPATH
서브셸의 추가 정보
- . 커맨드
- exec 커맨드
- (...)와 {...;} 구문
- 서브셸에 변수를 전달할 수 있는 다른 방법
.PROFILE 파일
- term 변수
- TZ 변수

11장. 매개변수 더 살펴보기
매개변수 대체
$0 변수
set 커맨드
IFS 변수
READONLY 커맨드
unset 커맨드

12장. 미진한 부분 살펴보기
eval 커맨드
wait 커맨드
- $! 변수
trap 커맨드
- 매개변수 없는 trap
- 시그널 무시하기
- trap을 재설정하기
I/O 추가 정보
- [&-와 ]&-
- 인라인 입력 리디렉션
- 셸 아카이브
함수
- 함수 정의 제거
- return 커맨드
type 커맨드

13장. rolo 수정
데이터 형식에 대한 고려 사항
rolo
add 프로그램
lu 프로그램
display 프로그램
rem 프로그램
change 프로그램
listall 프로그램
예시 결과

14장. 대화식 및 비표준 셸 기능
올바른 셸 얻기
ENV 파일
커맨드라인 편집
커맨드 히스토리
vi 라인 편집 모드
- 히스토리에서 커맨드 접근하기
emac 라인 편집 모드
- 커맨드 히스토리의 커맨드에 접근하기
커맨드 히스토리에 접근할 수 있는 또 다른 방법
- history 커맨드
- fc 커맨드
- r 커맨드
함수
- 지역 변수
- 자동으로 로드되는 함수
정수 산술 연산
- 정수 타입
- 여러 진수의 숫자
alias 커맨드
- 앨리어스 삭제하기
배열
작업 제어
- 멈춰진 작업과 fg 및 bg 커맨드
기타 기능
- cd 커맨드의 기타 기능
- 물결표 대체
- 검색 순서
호환성 요약
펼쳐보기
이 책에서 다루는 내용

- 유닉스 시스템에서 제공되는 많은 유틸리티 활용하기
- 강력한 셸 스크립트 작성법
- 셸의 내장 의사 결정 구문과 루프 구문 사용
- 셸의 강력한 따옴표 메커니즘 사용
- 셸의 내장 히스토리와 커맨드 편집 기능 최대한 활용하기
- 유닉스 커맨드에 정규 표현식 사용하기
- Korn 셸과 Bash 셸의 특수 기능 활용
- 셸 언어의 버전 간의 주요 차이점 확인
- 유닉스 시스템이 사용자에 응답하는 방식 사용자 정의하기
- 셸 환경 설정
- 여러 함수 사용하기
- 스크립트 디버깅

이 책의 구성

이 책은 사용자가 시스템과 커맨드라인의 기본 사항을 잘 알고 있다고 가정한다. 즉, 로그인 방법을 알고 있어야 할 뿐 아니라 파일의 생성, 편집, 삭제 방법과 디렉터리로 작업하는 방법을 알고 있다고 가정한다.
리눅스 또는 유닉스 시스템을 사용한 적이 없다면 1장, '기초 내용 빠르게 살펴보기'에서 기본적인 내용을 살펴본다. 또한 1장에서 파일 이름 대체, I/O 리디렉션, 파이프도 살펴본다.
2장, '셸이란?'에서는 셸의 실제 개념과 동작 원리를 설명하고, 운영체제와 상호작용하는 주요 방법이 어떻게 끝나는지 보여준다. 시스템에 로그인할 때마다 무슨 일이 발생하는지 살펴보고 셸 프로그램이 시작되는 방법, 커맨드라인을 구문 분석하는 방법, 다른 프로그램을 실행하는 방법을 다룬다.
3장, '필요한 도구'에서는 셸 프로그램 작성에 유용한 툴을 설명한다. 3장에서 다루는 커맨드는 cut, paste, sed, grep, sort, tr, uniq다. 틀림없이 해당 커맨드의 선택은 주관적이지만 이 책의 모든 부분에서 개발할 프로그램에서 사용된다. 또한 3장에서는 sed, grep, ed와 같은 많은 유닉스 커맨드에서 사용되는 정규식에 대해 자세히 설명한다.
4장에서 9장까지는 프로그램 작성에 도움을 주는 셸의 사용 방법을 설명한다. 즉, 커맨드를 직접 작성하는 방법, 변수를 사용하는 방법, 매개변수를 받을 수 있는 프로그램을 작성하는 방법, 결정하는 방법, 셸의 for, while, until과 루프 커맨드를 사용하는 방법, read 커맨드를 사용해 터미널 또는 파일에서 데이터를 읽는 방법을 다룬다.
5장, '따옴표'에서는 셸의 가장 흥미로운 부분 중 하나인 따옴표를 해석하는 방식에 대해 장 전체에 걸쳐 다룬다.
이 책의 9장까지 셸의 모든 기본 프로그래밍 구조를 다루기 때문에 여러분은 특정 문제를 해결할 수 있는 셸 프로그램을 작성할 수 있다.
10장, '사용자 환경'에서는 매우 중요한 주제로 셸이 작동하는 방식인 환경(environment)을 설명한다. 지역 변수, export 변수와 서브 셸, 그리고 HOME, PATH, CDPATH 같은 특수한 셸 변수와 .profile 파일을 설정하는 방법을 살펴본다.
11장, '매개변수 더 살펴보기'와 12장, '미진한 부분 살펴보기'에서는 일부 미진한 부분을 살펴보고 13장, 'rolo 수정'에서는 책 전체에 걸쳐 개발된 rolo라는 전화번호부 프로그램의 최종 버전을 제공한다.
14장, '대화식 및 비표준 셸 기능'에서는 공식적으로 IEEE POSIX 표준 셸의 일부가 아니거나(대부분의 유닉스 및 리눅스 셸에서는 사용할 수 있음) 프로그램 대신 대화식으로 사용되는 셸의 기능에 대해 설명한다.
이 책의 철학은 예시를 통해 가르치는 것이다. 우리는 특정 기능의 사용 방법을 많은 말로써 설명하는 것보다 적절하게 선택된 예시를 통해 설명하는 것이 여러분이 이해하는 데 훨씬 효과적이라고 믿는다. '천 마디 말보다 한 번 보는 게 더 낫다.'라는 오래된 격언은 코딩에도 적용되는 것 같다.
여러분의 시스템에서 모든 예시를 입력하고 테스트해보길 권한다. 테스트를 진행하면서 셸 프로그래밍을 숙달할 수 있어야 한다. 실험하는 것을 두려워하지 말라. 프로그램 예시에서 커맨드를 변경해 커맨드의 결과를 확인하거나 다른 옵션 또는 기능을 추가해 프로그램을 좀 더 유용하고 견고하게 만들어보자.
펼쳐보기
스티븐 코찬(Stephen Kochan)
[처음 시작하는 C 프로그래밍](정보문화사, 2015), [오브젝티브-C 2.0](인사이트, 2013), [Topics in C Programming](Wiley, 1991), [Exploring the Unix System](Prentice Hall, 1992) 등 유닉스와 C 언어를 다룬 베스트셀러의 저자 및 공저자다. 이전에는 AT&T 벨 연구소(Bell Laboratories)의 소프트웨어 컨설턴트로 일하면서 유닉스 및 C 프로그래밍 수업을 개발하고 가르쳤다.

펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기