책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 유닉스
· ISBN : 9788964200827
· 쪽수 : 1255쪽
· 출판일 : 2011-12-20
책 소개
목차
제1장 유닉스/리눅스 쉘 소개
1.1 유닉스란? 리눅스란? 간략한 역사 탐구 31
1.1.1. 유닉스에 대한 간략한 정보 31
1.1.2 왜 리눅스인가? 33
1.2 쉘의 정의와 기능 34
1.2.1 유닉스 쉘 35
1.2.2 리눅스 쉘 36
1.3 쉘의 역사 38
1.3.1 쉘 사용하기 40
1.3.2 쉘의 역할 40
1.4 시스템 구동과 로그인 쉘 41
1.4.1 명령 줄 분석 42
1.4.2 명령의 종류 42
1.5 프로세스와 쉘 44
1.5.1 어떤 프로세스가 실행중인가? 44
1.5.2 시스템 콜(System Call)이란? 46
1.5.3 프로세스 생성하기 47
1.6 환경과 상속 51
1.6.1 소유권 및 사용권한 51
1.6.2 파일 생성 마스크(Mask) 52
1.6.3 사용 권한 및 소유권 변경 53
1.6.4 작업 디렉토리 57
1.6.5 변수 58
1.6.6 라디이렉션과 파이프 59
1.6.7 쉘과 시그널(signal) 65
1.7 스크립트로 명령 실행 67
제2장 쉘 프로그래밍 퀵 스타트
2.1 쉘 스크립트 엿보기 69
2.2 예제 스크립트: 주요 쉘 비교 70
2.3 C/TC 쉘 문법과 구조 70
2.3.1 C/TC 쉘 스크립트 75
2.4 본(Bourne) 쉘 문법과 구조 77
2.4.1 본 쉘 스크립트 83
2.5 콘(Korn) 쉘 구조 85
2.5.1 콘 쉘 스크립트 93
2.6 배시(bash) 쉘 구조 95
2.6.1 배시 쉘 스크립트 102
제3장 정규표현식과 패턴매칭
3.1 정규표현식 106
3.1.1 정의와 예제 106
3.1.2 정규표현식 메타문자 108
3.2 정규표현식 메타문자 조합 115
3.2.1 기타 정규표현식 메타문자 116
제4장 grep 계열 명령
4.1 grep 명령 122
4.1.1 grep의 의미 122
4.1.2 grep의 작동 원리 122
4.1.3 메타문자 123
4.1.4 grep과 종료 상태 125
4.2 grep 정규표현식 예제 126
4.3 grep 옵션 132
4.4 grep에서 파이프 사용하기 136
4.4.1 grep 리뷰 136
4.5 egrep (확장 grep) 137
4.5.1 egrep 예제 138
4.5.2 egrep 리뷰 140
4.6 fgrep (고정 grep 혹은 빠른 grep) 141
4.7 리눅스와 GNU grep 142
4.7.1 기본 정규표현식과 확장 정규표현식 142
4.8 GNU 기본 grep(grep -G)의 정규표현식 147
4.9 grep -E 혹은 egrep(GNU 확장 grep) 148
4.9.1 grep -E와 egrep 예제 149
4.9.2 각종 grep 관련 예외사항 153
4.10 고정 grep(grep -F와 fgrep) 156
4.11 재귀 grep(rgrep, grep -R) 157
4.12 GNU grep의 옵션 157
4.13 grep의 옵션(유닉스와 GNU) 159
4.13.1 GNU grep 옵션 예제 162
제5장 sed, 간결한 편집기
5.1 sed란? 171
5.2 sed 버전 172
5.3 sed 작동원리 172
5.4 정규표현식 172
5.5 주소 지정 174
5.6 명령과 옵션 175
5.6.1 sed로 파일을 수정하는 방법 177
5.6.2 GNU sed 옵션 177
5.7 오류 메시지와 종료 상태 178
5.8 메타문자 179
5.9 sed 예제 180
5.9.1 출력: p 명령 181
5.9.3 치환: s 명령 184
5.9.4 줄 선택 범위 지정: 콤마(,) 187
5.9.5 다중 편집: e 명령 188
5.9.6 파일에서 읽기: r 명령 189
5.9.7 파일에 쓰기: w 명령 190
5.9.8 추가: a 명령 190
5.9.9 삽입: i 명령 192
5.9.10 변경: c 명령 193
5.9.11 다음: n 명령 194
5.9.12 변환: y 명령 194
5.9.13 종료: q 명령 195
5.9.14 보류와 얻기: h, g 명령 196
5.9.15 Holding and Exchanging: h와 x 명령 200
5.10 sed 스크립트 200
5.10.1 sed 스크립트 예제 201
5.10.2 sed 리뷰 204
제6장 awk 유틸리티
6.1 awk란? nawk란? gawk란? 207
6.1.1 awk의 어원 208
6.1.2 다양한 awk 208
6.2 awk 형식 208
6.2.1 파일 입력 209
6.2.2 명령으로 입력 210
6.3 awk의 작동 원리 211
6.4 출력 형식 지정 212
6.4.1 print 함수 212
6.4.2 OFMT 변수 214
6.4.3 printf 함수 215
6.5 파일에서 awk 명령 사용 218
6.6 레코드와 필드 219
6.6.1 레코드 219
6.6.2 필드 221
6.6.3 필드 구분자 222
6.7 패턴과 동작 224
6.7.1 패턴 224
6.7.2 동작 225
6.8 정규표현식 226
6.8.1 전체 줄에서 일치 228
6.8.2 match 연산자 228
6.9 스크립트 파일 안의 awk 명령 230
6.10 리뷰 231
6.10.1 간단한 패턴 매칭 232
6.10.2 간단한 동작 233
6.10.3 패턴과 동작이 조합된 정규표현 236
6.10.4 입력 필드 구분자 239
6.10.5 awk 스크립트 242
6.11 비교식 244
6.11.1 관계 연산자 244
6.11.2 조건식 245
6.11.3 산술 계산 246
6.11.4 논리 연산과 결합 패턴 247
6.11.5 범위 패턴 248
6.11.6 데이터 검증 프로그램 249
6.12 리뷰 250
6.12.1 동일성 검사 251
6.12.2 관계 연산자 252
6.12.3 논리 연산자(&&, ||) 253
6.12.4 논리 NOT 연산자(!) 254
6.12.5 산술 연산자 254
6.12.6 범위 연산자 257
6.12.7 조건 연산자 258
6.12.8 대입 연산자 258
6.13 변수 261
6.13.1 숫자 상수와 문자 상수 261
6.13.2 사용자 정의 변수 261
6.13.3 BEGIN 패턴 266
6.13.4 END 패턴 266
6.14 리다이렉션과 파이프 267
6.14.1 출력 리다이렉션 267
6.14.2 입력 리다이렉션(getline) 268
6.15 파이프 270
6.15.1 파일과 파이프 닫기 271
6.16 리뷰 272
6.16.1 증가 연산자와 감소 연산자 272
6.16.2 내장 변수 273
6.16.3 BEGIN 패턴 277
6.16.4 END 패턴 279
6.16.5 awk 스크립트에서 BEGIN과 END 사용 280
6.16.6 printf 함수 282
6.16.7 리다이렉션과 파이프 283
6.16.8 파이프 열기와 닫기 284
6.17 조건문 288
6.17.1 if 구문 288
6.17.2 if/else 문 288
6.17.3 if/else 문과 else if 문 289
6.18 반복문 291
6.18.1 while 반복문 291
6.18.2 for 반복문 291
6.18.3 반복문 제어 292
6.19 프로그램 제어문 293
6.19.1 next 문 293
6.19.2 exit 문 293
6.20 배열 294
6.20.1 결합 배열의 첨자 294
6.20.2 명령줄 매개변수 처리 (nawk) 301
6.21 awk 내장함수 303
6.21.1 문자열 함수 303
6.22 내장 산술 함수 308
6.22.1 정수 함수 308
6.22.2 난수 발생기 309
6.23 사용자 정의 함수 (nawk) 310
6.24 리뷰 312
6.25 기타 내용 320
6.25.1 고정 필드 320
6.25.2 복수 행의 레코드 322
6.25.3 안내장 생성 324
6.25.4 쉘과 상호 작용 327
6.26 awk 내장함수 329
6.26.1 문자열 함수 329
6.26.2 gawk와 시간 함수 333
6.26.3 명령줄 매개변수 336
6.26.4 입력 읽기 (getline) 338
6.26.5 제어 함수 339
6.26.6 사용자 정의 함수 340
6.26.7 awk/gawk 명령줄 옵션 341
제7장 대화형 본 쉘(Bourne Shell)
7.1 소개 343
7.2 쉘 환경 345
7.2.1 초기화 파일 345
7.2.2 프롬프트 348
7.2.3 검색 경로 350
7.2.4 hash 명령 351
7.2.5 마침표(.) 명령 352
7.3 명령줄 352
7.3.1 종료 상태 353
7.3.2 명령줄에서 다중 명령 사용 354
7.3.3 명령의 조건부 실행 354
7.3.4 백그라운드 명령 처리 355
7.4 쉘 메타문자(와일드카드) 356
7.5 파일명 치환 357
7.5.1 별표(쪱) 357
7.5.2 물음표(?) 358
7.5.3 대괄호([ ], Square Brackets) 359
7.5.4 이스케이프 메타문자(Escaping Metacharacters) 360
7.6 변수 360
7.6.1 지역 변수 360
7.6.2 환경 변수 363
7.6.3 설정된 변수 목록보기 365
7.6.4 변수 설정 해제 367
7.6.5 변수 값 출력: echo 명령 367
7.6.6 변수 확장 수식어 368
7.6.7 위치 매개변수 371
7.6.8 그 외 특수 변수 373
7.7 인용부호 374
7.7.1 역슬래시 375
7.7.2 작은 따옴표 376
7.7.3 큰 따옴표 377
7.8 명령 치환 378
7.9 함수 소개 378
7.9.1 함수 정의 379
7.9.2 함수 목록과 설정 해제 380
7.10 표준 I/O와 리다이렉션 380
7.10.1 exec 명령과 리다이렉션 382
7.11 파이프 386
7.12 here 문서와 입력 387
7.12.1 이제 무엇을 해야 하나? 390
제8장 본 쉘(Bourne Shell) 프로그래밍
8.1 소개 391
8.1.1 쉘 스크립트 생성 단계 392
8.2 사용자 입력 처리 394
8.3 산술 연산 396
8.3.1 정수 연산과 expr 명령 397
8.3.2 부동소수점 연산 398
8.4 위치 매개변수와 명령줄 매개변수 399
8.4.1 set 명령과 위치 매개변수 400
8.4.2 $쪱와 $@의 다른 점 402
8.5 조건문과 흐름 제어 404
8.5.1 종료 상태값 점검: test 명령 405
8.5.2 if 명령 407
8.5.3 exit 명령과 ? 변수 409
8.5.4 null 값 검사 410
8.5.5 if/else 명령 411
8.5.6 if/elif/else 명령 413
8.5.7 파일 점검 415
8.5.8 null 명령 416
8.5.9 case 명령 418
8.5.10 here 문서와 case 명령으로 메뉴 구성 420
8.6 반복 명령 421
8.6.1 for 명령 421
8.6.2 단어 목록의 $쪱와 $@ 변수 424
8.6.3 while 명령 425
8.6.4 until 명령 428
8.6.5 반복 제어 명령 430
8.6.6 중첩 반복문 제어 435
8.6.7 입/출력 리다이렉션과 자식 쉘 437
8.6.8 백그라운드로 반복문 실행하기 441
8.6.9 exec 명령과 반복문 441
8.6.10 IFS와 반복문 443
8.7 함수 444
8.7.1 함수 설정 해제 446
8.7.2 함수 매개변수와 반환 값 446
8.7.3 함수와 마침표 명령 448
8.8 시그널 트래핑(Trapping) 451
8.8.1 시그널 재설정 453
8.8.2 시그널 무시 453
8.8.3 트랩 나열하기 454
8.8.4 함수에서의 트랩 455
8.8.5 디버깅 456
8.9 명령줄 458
8.9.1 getopts를 이용한 명령줄 옵션 처리 458
8.9.2 eval 명령과 명령줄 해석 465
8.10 쉘 호출 옵션 466
8.10.1 set 명령과 옵션 467
8.10.2 쉘 내장 명령 468
제9장 대화형 C 쉘과 TC 쉘
9.1 소개 479
9.1.1 C/TC 쉘 시작하기 480
9.2 쉘 환경 481
9.2.1 초기화 파일 481
9.2.2 검색 경로 484
9.2.3 rehash 명령 484
9.2.4 hashstat 명령 485
9.2.5 source 명령 485
9.2.6 쉘 프롬프트 485
9.3 C/TC 쉘 명령줄 487
9.3.1 종료 상태 487
9.3.2 명령 그룹화 488
9.3.3 명령의 조건부 실행 489
9.3.4 백그라운드로 명령 실행 490
9.3.5 명령줄 히스토리 490
9.4 별명 496
9.4.1 별명 나열하기 496
9.4.2 별명 생성 497
9.4.3 별명 삭제 497
9.4.4 별명 반복문 498
9.5 디렉토리 스택 조작 498
9.5.1 pushd와 popd 명령 499
9.6 작업 제어 501
9.6.1 앰퍼샌드(&)와 백그라운드 작업 501
9.6.2 일시정지 키 조합과 백그라운드 작업 502
9.6.3 jobs 명령 502
9.6.4 포그라운드와 백그라운드 명령 503
9.7 쉘 메타문자 504
9.8 파일명 치환 505
9.8.1 별표 506
9.8.2 물음표 506
9.8.3 대괄호 507
9.8.4 중괄호 508
9.8.5 메타문자 탈출 508
9.8.6 틸드(~) 전개 509
9.8.7 파일명 완성: filec 변수 510
9.8.8 noglob를 이용한 메타문자의 사용 제한 511
9.9 리다이렉션과 파이프 511
9.9.1 입력 리다이렉션 512
9.9.2 here 문서 513
9.9.3 출력 리다이렉션 515
9.9.4 기존 파일에 출력 덧붙이기 515
9.9.5 출력과 오류 리다이렉션 516
9.9.6 출력과 오류 분리 517
9.9.7 The noclobber 변수 518
9.10 변수 520
9.10.1 중괄호 521
9.10.2 지역 변수 521
9.10.3 환경 변수 525
9.10.4 배열 528
9.10.5 특수 변수 531
9.11 명령 치환 534
9.11.1 단어목록과 명령 치환 534
9.12 인용부호 536 9.12.1 역슬래시 537
9.12.2 작은 따옴표 538
9.12.3 큰 따옴표 539
9.12.4 인용 게임 539
9.13 대화형 TC 쉘의 새로운 기능 542
9.13.1 tcsh 버전 542
9.13.2 쉘 프롬프트 543
9.14 TC 쉘 명령줄 547
9.14.1 명령줄과 종료 상태 547
9.14.2 TC 쉘 명령줄 히스토리 548
9.14.3 내장 명령줄 편집기 558
9.15 TC 쉘 명령, 파일명, 변수 완성 565
9.15.1 autolist 변수 566
9.15.2 fignore 변수 567
9.15.3 complete 쉘 변수 568
9.15.4 완성기능 프로그래밍 569
9.16 TC 쉘 철자 교정 574
9.17 TC 쉘 별명 575
9.17.1 별명 목록 575
9.17.2 별명 정의 576
9.17.3 별명 삭제 577
9.17.4 별명 반복문 578
9.17.5 특별한 tcsh 별명 578
9.18 TC 쉘 작업 제어 579
9.18.1 jobs 명령과 listjobs 변수 580
9.18.2 포그라운드 명령과 백그라운드 명령 581
9.18.3 작업 스케쥴링 582
9.19 TC 쉘 변수 값 출력 583
9.19.1 echo 명령 583
9.19.2 printf 명령 585
9.19.3 중괄호와 변수 587
9.19.4 대소문자 변경자 587
9.20 TC 쉘 내장 명령 588
9.20.1 특수 내장 쉘 변수 596
9.20.2 TC 쉘 명령줄 스위치 602
제10장 C 쉘과 TC 쉘 프로그래밍
10.1 소개 607
10.1.1 쉘 스크립트 생성 과정 607
10.2 사용자 입력 읽기 610
10.2.1 $< 변수 610
10.2.2 입력 문자열을 이용한 단어 목록 생성 611
10.3 산술 연산 612
10.3.1 수치 연산자 612
10.3.2 부동 소수점 연산 614
10.4 스크립트 디버깅 614
10.5 명령줄 매개변수 617
10.5.1 위치 매개변수와 argv 617
10.6 조건 표현과 흐름 제어 619
10.6.1 조건식 검사 619
10.6.2 우선순위와 결합 방향 621
10.6.3 if문 622
10.6.4 설정 해제와 널 변수의 검사 623
10.6.5 if/else문 624
10.6.6 논리 표현식 625
10.6.7 if 문과 단일 명령 626
10.6.8 if/else문 626
10.6.9 종료 상태와 status 변수 628
10.6.10 쉘 스크립트의 종료 628
10.6.11 오류 메시지 생성에 별명 사용하기 629
10.6.12 스크립트에서 status 변수 사용 630
10.6.13 조건문 안에서 명령 평가 630
10.6.14 goto문 632
10.6.15 파일 검사 633
10.6.16 test 명령과 파일 검사 634
10.6.17 조건문의 중첩 635
10.6.18 TC 쉘에서 파일 검사 636
10.6.19 filetest 내장 명령(tcsh) 639
10.6.20 추가 TC 쉘 파일 점검 연산자 640
10.6.21 switch 명령 642
10.6.22 here 문서와 메뉴 645
10.7 명령 반복 647
10.7.1 foreach 반복문 647
10.7.2 while 반복문 650
10.7.3 repeat 명령 652
10.7.4 반복문 제어 명령 652
10.8 인터럽트 처리 657
10.9 setuid 스크립트 658
10.10 스크립트의 저장 658
10.11 내장 명령 659
제11장 대화형 콘 쉘(Korn Shell)
11.1 소개 671
11.1.1 시작하기 672
11.2 쉘 환경 673
11.2.1 초기화 파일 673
11.2.2 프롬프트 678
11.2.3 검색 경로 679
11.2.4 마침표(.) 명령 680
11.3 명령줄 681
11.3.1 명령 처리 순서 681
11.3.2 종료 상태 682
11.3.3 명령줄에서 여러 명령 사용 683
11.3.4 조건부 실행 683
11.3.5 백그라운드에서 명령 실행 684
11.3.6 명령줄 히스토리 685
11.3.7 명령줄 편집 688
11.4 주석 사용과 파일명 전개 692
11.5 별명 694
11.5.1 별명 목록 보기 694
11.5.2 별명 정의 695
11.5.3 별명 삭제 696
11.5.4 전체 경로 별명 696
11.6 작업 제어 697
11.7 메타문자 698
11.8 파일명 치환(와일드카드) 700
11.8.1 별표 문자 701
11.8.2 물음표 701
11.8.3 대괄호 702
11.8.4 메타문자를 일반 문자로 사용 703
11.8.5 틸드와 하이픈 전개 704
11.8.6 새로 추가된 ksh 메타문자 705
11.8.7 noglob 변수 706
11.9 변수 707
11.9.1 지역 변수 707
11.9.2 환경 변수 709
11.9.3 변수 목록 출력 712
11.9.4 변수 설정 해제 715
11.9.5 변수값 출력 715
11.9.6 이스케이트 시퀀스(Escape sequence) 717
11.9.7 변수 표현식과 변수 변경자 718
11.9.8 부분 문자열에 대한 변수 전개 721
11.9.9 변수 속성: typeset 명령 722
11.9.10 위치 매개변수 724
11.9.11 기타 특수 변수 726
11.10 인용부호 727
11.10.1 역슬래시 727
11.10.2 작은 따옴표 728
11.10.3 큰 따옴표 728
11.11 명령 치환 729
11.12 함수 731
11.12.1 함수 정의 732
11.12.2 함수와 별명 733
11.12.3 함수 목록 출력 734
11.12.4 함수 설정 해제 734
11.13 표준 입/출력 리다이렉션 735
11.13.1 exec 명령과 리다이렉션 736
11.13.2 리다이렉션과 자식 쉘 737
11.14 파이프 737
11.14.1 here 문서와 입력 리다이렉션 739
제12장 콘 쉘(Korn Shell) 프로그래밍
12.1 소개 743
12.1.1 쉘 스크립트 작성 절차 743
12.2 사용자 입력 읽기 747
12.2.1 read와 파일 식별자 749
12.2.2 파일로부터 입력 750
12.3 산술 연산 751
12.3.1 정수 타입 계산 751
12.3.2 다른 수 체계 사용 752
12.3.3 정수 타입 변수 출력 754
12.3.4 산술 연산자와 let 명령 754
12.4 위치 매개변수와 명령줄 매개변수 756
12.4.1 set 명령과 위치 매개변수 757
12.5 조건문과 흐름 제어 760
12.5.1 종료 상태 검사와 $? 변수 760
12.5.2 구 버전의 test 명령 762
12.5.3 신 버전의 test 명령 763
12.5.4 이항 연산자를 이용한 파일 검사 765
12.5.5 논리 연산자 765
12.5.6 파일 검사 766
12.5.7 if 명령 767
12.5.8 이전 형식의 본 쉘 test 769
12.5.9 새로운 형식의 콘 쉘 test 770
12.5.10 이전 형식의 본 쉘 test에 숫자 사용 771
12.5.11 let 명령과 산술식 검사 771
12.5.12 if/else 명령 772
12.5.13 if/elif/else 명령 773
12.5.14 exit 명령 775
12.5.15 null 명령 776
12.5.16 case 명령 778
12.6 명령 반복 780
12.6.1 for 명령 780
12.6.2 단어 목록에서의 $쪱와 $@ 변수 783
12.6.3 while 명령 784
12.6.4 until 명령 787
12.6.5 select 명령과 메뉴 789
12.6.6 반복 제어 명령 793
12.6.7 중첩 반복문의 제어 797
12.6.8 I/O 리다이렉션과 반복문 798
12.6.9 백그라운드로 반복문 사용 801
12.6.10 exec 명령과 반복문 801
12.6.11 IFS와 반복 803
12.7 배열 804
12.7.1 set 명령으로 배열 생성 805
12.8 함수 806
12.8.1 함수 정의 807
12.8.2 함수 목록 보기와 설정 해제 808
12.8.3 지역변수와 반환값 808
12.8.4 익스포트된 함수 810
12.8.5 typeset 명령과 함수 옵션 812
12.9 시그널 트래핑 813
12.9.1 의사 시그널 814
12.9.2 시그널 재설정 815
12.9.3 시그널 무시하기 815
12.9.4 트랩 상태 보기 816
12.9.5 함수에서의 트래핑 819
12.10 코프로세스 820
12.11 디버깅 824
12.12 명령줄 827
12.12.1 getopts를 이용한 명령줄 옵션 처리 827
12.13 보안 833
12.13.1 특별(Privileged) 스크립트 833
12.13.2 제한(Restricted) 쉘 833
12.14 내장 명령 834
12.15 콘 쉘 실행 매개변수 838
제13장 대화형 배시 쉘(Bash Shell)
13.1 소개 855
13.1.1 배시(bash) 버전 856
13.1.2 시작하기 857
13.2 환경 858
13.2.1 초기화 파일 858
13.2.2 내장 명령 set과 shopt를 이용한 배시 옵션 설정 866
13.2.3 프롬프트 871
13.2.4 검색 경로 875
13.2.5 hash 명령 876
13.2.6 source 명령(마침표 명령) 877
13.3 명령줄 878
13.3.1 명령 처리 순서 878
13.3.2 내장 명령과 help 명령 879
13.3.3 명령줄 처리 순서의 변경 880
13.3.4 종료 상태 881
13.3.5 명령줄에서 여러 명령 사용 883
13.3.6 명령 그룹화 883
13.3.7 조건부 실행 884
13.3.8 백그라운드에서 실행 884
13.4 작업 제어 885
13.4.1 작업 제어 명령과 옵션 885
13.5 명령줄 단축키 888
13.5.1 명령과 파일명 완성 888
13.5.2 히스토리 889
13.5.3 히스토리 파일의 명령 사용 890
13.5.4 명령줄 편집 898
13.6 별명 903
13.6.1 별명 목록 보기 903
13.6.2 별명 정의 903
13.6.3 별명 삭제 904
13.7 디렉토리 스택 904
13.7.1 내장 명령 dirs 905
13.7.2 pushd와 popd 명령 905
13.8 메타문자(와일드카드) 906
13.9 파일명 치환 907
13.9.1 별표 문자 908
13.9.2 물음표 908
13.9.3 대괄호 909
13.9.4 중괄호 910
13.9.5 메타문자를 일반 문자로 사용 911
13.9.6 틸드와 하이픈 전개 912
13.9.7 와일드카드 제어(globbing) 913
13.9.8 확장된 파일명 전개(배시 2.x) 914
13.10 변수 915
13.10.1 변수의 종류 915
13.10.2 변수 명칭 표준 916
13.10.3 declare 내장 명령 916
13.10.4 지역변수와 통용범위 917
13.10.5 환경변수 920
13.10.6 변수 설정 해제 925
13.10.7 변수 값 출력 926
13.10.8 변수 확장 변경자(파라미터 확장) 929
13.10.9 부분 문자열에 대한 변수 전개 933
13.10.10 위치 매개변수 934
13.10.11 기타 특수 변수 936
13.11 인용부호의 사용 937
13.11.1 역슬래시 938
13.11.2 작은 따옴표 939
13.11.3 큰 따옴표 940
13.12 명령 치환 941
13.13 산술식 전개 944
13.14 전개 순서 944
13.15 배열 945
13.16 함수 947
13.16.1 함수 정의 948
13.16.2 함수 목록 보기와 설정 해제 950
13.17 표준 입출력과 리다이렉션 951
13.17.1 exec 명령과 리다이렉션 953
13.18 파이프 956
13.18.1 here 문서와 입력 리다이렉션 958
13.19 쉘 실행 옵션 959
13.19.1 set 명령과 옵션 960
13.19.2 shopt 명령과 옵션 962
13.20 쉘 내장 명령 964
제14장 배시 쉘(Bash Shell)
14.1 소개 971
14.1.1 쉘 스크립트 작성 절차 971
14.2 사용자 입력 읽기 974
14.2.1 변수(복습) 974
14.2.2 read 명령 974
14.3 산술 연산 978
14.3.1 정수 타입 계산(declare 명령과 let 명령) 978
14.3.2 부동소수점 타입 계산 981
14.4 위치 매개변수와 명령줄 매개변수 982
14.4.1 위치 매개변수 982
14.4.2 set 명령과 위치 매개변수 983
14.5 조건의 표현과 흐름 제어 987
14.5.1 종료 상태 987
14.5.2 test 내장 명령 988
14.5.3 if 명령 994
14.5.4 if/else 명령 1000
14.5.5 if/elif/else 명령 1002
14.5.6 파일 검사 1004
14.5.7 null 명령 1006
14.5.8 case 명령 1008
14.6 반복 명령 1012
14.6.1 for 명령 1012
14.6.2 단어 목록에서의 $쪱와 $@ 변수 1015
14.6.3 while 명령 1016
14.6.4 until 명령 1020
14.6.5 select 명령과 메뉴 1022
14.6.6 반복문 제어 명령 1026
14.6.7 I/O 리다이렉션과 자식 쉘 1033
14.6.8 백그라운드에서 반복문 사용 1036
14.6.9 IFS와 반복문 1037
14.7 함수 1038
14.7.1 함수 설정 해제 1039
14.7.2 함수의 익스포트(export) 1040
14.7.3 함수 매개변수와 반환값 1040
14.7.4 함수와 source(또는 dot) 명령 1044
14.8 시그널 트래핑 1047
14.8.1 시그널 재설정 1049
14.8.2 시그널 무시 1050
14.8.3 트랩 상태 보기 1050
14.8.4 trap과 함수 1052
14.9 디버깅 1053
14.10 명령줄 1055
14.10.1 getopts를 이용한 명령줄 옵션 처리 1055
14.10.2 eval 명령과 명령줄 해석 1061
14.11 배시 옵션 1063
14.11.1 쉘 실행 옵션 1063
14.11.2 set 명령과 옵션 1065
14.11.3 shopt 명령과 옵션 1067
14.12 쉘 내장 명령 1068
제15장 쉘 스크립트 디버깅
15.1 소개 1081
15.2 스타일 이슈 1082
15.3 오류의 유형 1083
15.3.1 런타임 오류 1083
15.3.2 명명 규칙 1083
15.3.3 부적절한 매개변수 1085
15.3.4 경로 문제 1086
15.3.5 Shbang 줄 1087
15.3.6 몰래 하는 별명 1088
15.4 문법 오류의 원인 1090
15.4.1 정의 안 된 변수와 철자 틀린 변수 1090
15.4.2 불완전한 프로그래밍 구문 1092
15.4.3 다섯 가지 주요 쉘의 일반적인 오류 메시지 1108
15.4.4 논리 오류 및 견고성 1119
15.5 쉘 옵션과 set 명령으로 추적하기 1128
15.5.1 본 쉘 스크립트 디버깅 1128
15.5.2 C/TC 쉘 스크립트 디버깅 1130
15.5.3 콘 쉘 스크립트 디버깅 1133
15.5.4 배시 쉘 스크립트 디버깅 1137
15.6 요약 1141
제16장 시스템 관리자와 쉘
16.1 소개 1143
16.2 수퍼유저 1144
16.3 su 명령으로 수퍼유저 전환 1145
16.3.1 root로 스크립트 실행 1148
16.3.2 root로 실행하는 스크립트(setuid 프로그램) 1149
16.4 부트 스크립트 1152
16.4.1 간략한 용어 정리 1152
16.4.2 부트 스크립트 예제-cron 유틸리티 1157
16.4.3 이식성 좋은 스크립트 작성하기 1163
16.4.4 사용자에 특성화된 초기화 파일 1167
16.4.5 시스템 전반적인 초기화 파일 1168
16.5 요약 1176
부록 A 쉘 프로그래머에게 유용한 유닉스/리눅스 유틸리티 1179
부록 B 쉘 기능 비교
B.1 쉘 기능 비교 1237
B.2 tcsh vs csh 1237
B.3 bash vs sh 1238