이미 소장하고 있다면 판매해 보세요.
|
제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 |
|
“실리콘밸리의 전설! 엘리 퀴글리의 명강의를 책으로 만난다!”
쉘은 하나의 게임 같아서 쉘을 다루는 것은 너무 재미있는 일이다. 이 책은 쉘을 즐겁고 유익하게 학습할 수 있도록 제작했다. 개정 4판에는 새로운 세 단원이 추가되었고, 리눅스를 사용하는 많은 분들을 위해 책 전반에 걸쳐 GNU 툴을 다루었다. 리눅스의 저변 확대에 따라, 예제를 통한 유닉스, 리눅스 쉘의 다양한 부분을 종합해서 다뤘다. 개정 4판에 추가된 단원으로 2장 "쉘 프로그래밍 퀵스타트"는 쉘 프로그래밍 구조와 쉘들이 어떻게 다른지 빨리 살펴보기를 원하는 프로그래머들을 위한 점프 스타트 킷이다. 15장 "쉘 스크립트 디버깅"은 오류 메시지의 예를 들어 무엇이 문제이고, 어떻게 고쳐야 하는지에 대한 내용을 담았다. 16장 "시스템 관리자와 쉘"은 시스템이 부팅될 때부터 전원이 꺼질 때까지, 시스템 관리자가 어떻게 쉘을 사용하는지를 실제 사례를 통해 보여준다. 개정 4판은 대부분의 쉘 프로그래머들이 사용하는 다양한 종류의 쉘과 유닉스, 리눅스 유틸리티에 대한 강좌를 21년간 개발하고, 강의하는 저자를 통해 집필이 완성되었다. 이 책의 주요 내용 * C, Bourne, Korn, Bash, Tcsh를 통일된 설명 방식으로 풀어간다. * 리눅스 쉘 유틸리티(sed, awk, grep)를 상세히 설명한다. * 유닉스 쉘에 대한 오랜 강의 경험을 통해 검증받은 학습 방식을 채택했다. * 독자가 직접 실습하도록 코드와 데이터를 케이앤피북스 홈페이지(www.knpbooks.co.kr)에서 제공한다. |