목차
Chapter 01 Unix란 무엇인가?
   Unix란 무엇인가? ... 24
   Unix의 역사 ... 25
      새로운 프로그래밍 언어, C ... 27
      Unix 인기를 얻다 ... 28
   다중사용자 시스템이란? ... 28
   셸이란 ... 29
   도움말(Help) 사용법 ... 31
      과제 1.1 Man 페이지 : Unix의 온라인 도움말 시스템 ... 31
      과제 1.2 도움말을 검색하는 또 다른 방법 ... 41
   요약 ... 44
   실습 ... 45
      실습 과제 ... 46
      다음 장에서는 ... 47
Chapter 02 시스템 접속과 명령행의 사용
   시작하며 ... 50
      과제 2.1 시스템에 로그인 및 로그아웃하기 ... 50
      과제 2.2 passwd 명령어로 패스워드 변경하기 ... 53
      과제 2.3 안전한 패스워드 선택하기 ... 55
   로그인한 다음에는 ... 57
      과제 2.4 네 자신을 알라 ... 57
      과제 2.5 누가 접속 중인가? ... 60
      과제 2.6 그들은 지금 무엇을 하고 있는가? ... 61
      과제 2.7 현재 날짜와 시간 알아보기 ... 62
   요약 ... 63
   실습 ... 63
      실습 과제 ... 64
      다음 장에서는 ... 64
Chapter 03 파일 시스템 둘러보기
   계층적 파일 시스템이란 무엇인가 ... 68
      과제 3.1 Unix 파일 시스템의 구성 ... 69
bin 디렉터리 ... 71
      dev 디렉터리 ... 71
      etc 디렉터리 ... 72
      lib 디렉터리 ... 72
      lost+found 디렉터리 ... 72
      mnt와 sys 디렉터리 ... 73
      tmp 디렉터리 ... 73
      usr 디렉터리 ... 73
      루트 디렉터리 아래에 저장되는 다른 항목들 ... 74
   디렉터리 구분 문자(Directory Separator Characters) ... 75
   상대 파일명과 절대 파일명 차이 ... 76
      과제 3.2 Unix의 감춤 파일들 ... 78
      과제 3.3 특별한 디렉터리 이름 '.'과 '..' ... 81
      과제 3.4 env 명령어 ... 83
      과제 3.5 PATH와 HOME ... 84
      과제 3.6 pwd를 사용해 사용자의 현재 디렉터리 알아내기 ... 85
      과제 3.7 cd 명령어를 사용한 다른 디렉터리로의 이동 방법 ... 86
   요약 ... 87
   실습 ... 88
      실습 과제 ... 90
      다음 장에서는 ... 90
Chapter 04 파일 목록과 디스크 사용량 보기
   Is 명령어 ... 94
      과제 4.1 Is 명령어의 모든 것 ... 94
      과제 4.2 Is 명령어가 알려주는 더 많은 정보 ... 96
      과제 4.3 플래그의 결합 ... 99
      과제 4.4 현재의 작업 위치를 변경하지 않고 다른 디렉터리 나열하기 ... 100
   Is 명령어의 특별한 플래그 ... 102
      과제 4.5 Is 명령어에서 정렬 순서 바꾸기 ... 103
      과제 4.6 Is로 디렉터리 트리를 재귀적으로 출력하기 ... 104
      과제 4.7 보다 자세한 정보를 확인하려면 ... 105
   권한 문자열 ... 106
      과제 4.8 디렉터리에 -I 플래그를 적용하면? ... 107
      과제 4.9 touch 명령어로 파일 생성하기 ... 110
      과제 4.10 du로 디스크 공간의 사용량 검사 ... 111
      과제 4.11 df로 사용 가능한 디스크 양 검사하기 ... 113
      과제 4.12 gzip 프로그램으로 용량이 큰 파일 압축하기 ... 116
   요약 ... 118
   실습 ... 118
      실습 과제 ... 119
      다음 장에서는 ... 119
Chapter 05 소유(Ownership)와 권한(Permission)
   파일 권한 가지고 놀기 ... 122
      과제 5.1 파일에 부여된 권한 분석 ... 122
      과제 5.2 디렉터리의 권한 설정 ... 128
      과제 5.3 chmod 명령으로 파일과 디렉터리에 설정된 권한 변경하기 ... 132
      과제 5.4 chmod 명령을 사용해 파일 권한 초기화하기 ... 135
      과제 5.5 숫자 표기법에 따른 권한 문자열 계산하기 ... 139
      과제 5.6 umask 명령어를 사용해 파일과 디렉터리에 대한 권한의 기본값 정하기 ... 141
      과제 5.7 파일이나 디렉터리에 대한 소유자 및 그룹 정보 확인 ... 145
   요약 ... 146
   실습 ... 147
      실습 과제 ... 147
      다음 장에서는 ... 148
Chapter 06 파일과 디렉터리의 생성, 이동, 이름 변경, 삭제
   Unix 파일 시스템 다루기 ... 152
      과제 6.1 mkdir을 이용하여 새로운 디렉터리 만들기 ... 152
      과제 6.2 cp를 사용하여 파일 복사하기 ... 154
      과제 6.3 mv를 사용해서 파일 이동하기 ... 157
      과제 6.4 mv로 파일 이름 변경하기 ... 158
      과제 6.5 rmdir을 사용하여 디렉터리 제거하기 ... 160
      과제 6.6 rm을 사용하여 파일 삭제하기 ... 161
      과제 6.7 rm 명령어의 위험 최소화하기 ... 163
   요약 ... 165
   실습 ... 166
      실습 과제 ... 166
      다음 장에서는 ... 167
Chapter 07 파일 들여다보기
   이 파일은 대체 무슨 파일? ... 170
      과제 7.1 file 명령어를 통해 파일 타입 검사하기 ... 170
      과제 7.2 file 명령어로 Unix 디렉터리 살펴보기 ... 173
      과제 7.3 head 명령어를 사용해 파일 앞부분 살펴보기 ... 176
      과제 7.4 tail 명령어를 사용하여 파일의 뒷부분 살펴보기 ... 178
      과제 7.5 cat 명령어를 사용하여 파일 내용 출력하기 ... 180
      과제 7.6 more 명령어를 사용해 큰 파일의 내용 확인하기 ... 183
   요약 ... 188
   실습 ... 188
      실습 과제 ... 188
      다음 장에서는 ... 189
Chapter 08 필터, 파이프, 와일드카드
   명령행 최대한 활용하기 ... 192
      과제 8.1 파일 리다이렉션의 비밀들 ... 192
      과제 8.2 wc 명령어를 사용하여 단어와 라인의 수 세기 ... 194
      과제 8.3 sort를 사용해서 파일 안의 정보 정렬하기 ... 195
      과제 8.4 파일명과 와일드카드 ... 199
      과제 8.5 grep으로 파일 찾기 ... 203
      과제 8.6 정규 표현식 만들기 ... 206
      과제 8.7 grep 계열의 명령어들 ... 210
   요약 ... 213
   실습 ... 213
      실습 과제 ... 214
      다음 장에서는 ... 215
Chapter 09 명령행 파이프로 전달되는 데이터 분석하기
   awk 프로그래밍 시스템 ... 218
      과제 9.1 awk 사용법 배워보기 ... 218
   파이프라인에서의 cut 명령어 활용 ... 224
      과제 9.2 cut 명령어의 사용법 실습 ... 225
sed와 tr 명령어를 사용한 데이터 스트림 편집 ... 228
      과제 9.3 sed와 tr을 사용한 스트림 편집 ... 228
   요약 ... 232
   실습 ... 232
      실습 과제 ... 232
      다음 장에서는 ... 233
Chapter 10 vi 편집기
   Unix에서의 문서 편집 ... 236
      과제 10.1 vi를 시작하고 종료하는 방법 ... 236
      과제 10.2 커서의 이동 ... 241
      과제 10.3 단어 및 페이지 단위 이동 ... 244
      과제 10.4 i, a, o, O를 사용한 텍스트 삽입 ... 248
      과제 10.5 텍스트 삭제 ... 257
   요약 ... 267
   실습 ... 269
      실습 과제 ... 269
      다음 장에서는 ... 270
Chapter 11 고급 vi 사용법
   vi를 사용한 고급 편집 기법 ... 274
      과제 11.1 파일 내의 패턴 탐색 ... 274
      과제 11.2 vi의 콜론 명령어들 ... 280
      과제 11.3 vi 명령어의 올바른 실행 방법 ... 286
      과제 11.4 탐색과 치환 ... 288
      과제 11.5 바꾸기 명령어들 ... 292
      과제 11.6 ! 명령으로 Unix 명령어 실행하기 ... 300
   vi 명령어 요약 ... 306
   요약 ... 308
   실습 ... 308
      실습 과제 ... 308
      다음 장에서는 ... 309
Chapter 12 emacs
   또 하나의 인기 있는 편집기 : emacs ... 312
      과제 12.1 emcas 시작과 텍스트 삽입 ... 312
      과제 12.2 커서 위치 이동하기 ... 315
      과제 12.3 문자나 단어 지우기 ... 320
      과제 12.4 emacs에서의 탐색과 치환 ... 325
      과제 12.5 emacs 안내서 및 도움말 시스템 사용하기 ... 328
      과제 12.6 여러 파일 동시에 열어 작업하기 ... 331
   요약 ... 334
   실습 ... 334
      실습 과제 ... 335
      다음 장에서는 ... 335
Chapter 13 셸 입문
   셸 게임 ... 338
      과제 13.1 어떤 셸들이 있는가? ... 338
      과제 13.2 여러분은 지금 어떤 셸을 사용 중인가? ... 342
      과제 13.3 다른 셸을 사용하려면? ... 344
      과제 13.4 셸 환경 ... 346
      과제 13.5 bash 설정 파일 ... 350
   요약 ... 354
   실습 ... 354
      실습 과제 ... 354
      다음 장에서는 ... 355
Chapter 14 고급 셸 사용법
   이 셸이 그 셸인가? ... 358
      과제 14.1 셸 이력 관리 메커니즘 ... 358
      과제 14.2 이력 관리 기능으로 사용해 입력 횟수 줄이기 ... 360
      과제 14.3 명령어 앨리어스 ... 366
      과제 14.4 몇 가지 강력한 앨리어스들 ... 368
      과제 14.5 사용자 환경에 맞게 프롬프트를 설정하기 ... 370
   요약 ... 372
   실습 ... 372
      실습 과제 ... 372
      다음 장에서는 ... 373
Chapter 15 작업 제어(Job Control)
   '작업'이라는 것과 씨름하기 ... 375
      과제 15.1 셸에서의 작업 제어 : 실행 중인 작업 중지시키기 ... 376
      과제 15.2 전면 작업과 후면 작업 ... 379
      과제 15.3 실행 중인 작업의 목록 보기 ... 384
      과제 15.4 kill 명령어로 프로세스 강제 종료하기 ... 392
   요약 ... 396
   실습 ... 396
      실습 과제 ... 397
      다음 장에서는 ... 397
Chapter 16 셸 프로그래밍 개요
   자신만의 명령어 만들기 ... 400
      과제 16.1 셸 변수들 ... 400
      과제 16.2 셸 연산 ... 403
      과제 16.3 비교 함수들 ... 405
      과제 16.4 조건문 ... 408
      과제 16.5 순환문 ... 412
      과제 16.6 bash 함수 ... 414
   요약 ... 419
   실습 ... 419
      실습 과제 ... 420
      다음 장에서는 ... 420
Chapter 17 고급 셸 프로그래밍
   파일 탐색 스크립트 mylocate ... 424
      과제 17.1 mylocate의 구현 ... 424
      과제 17.2 내가 가진 명령어는 전부 몇 개? ... 429
      과제 17.3 디스크가 대체 얼마나 남았지? ... 431
      과제 17.4 셸 스크립트로 게임 만들기 ... 434
   요약 ... 437
   실습 ... 438
      실습 과제 ... 438
      다음 장에서는 ... 438
Chapter 18 인쇄
   인쇄물 만들기 ... 442
      과제 18.1 printers로 로컬 프린터 찾기 ... 442
      과제 18.2 Ipr, Ip를 사용해 파일 출력하기 ... 446
      과제 18.3 pr, col을 사용해 출력 문서 서식 잡기 ... 450
      과제 18.4 프린터 큐 사용하기 ... 454
   요약 ... 458
   실습 ... 459
      실습 과제 ... 459
      다음 장에서는 ... 460
Chapter 19 파일 보관과 백업
   테이프 아카이브 유틸리티 tar ... 464
      과제 19.1 tar 사용법 ... 464
   compress를 사용한 파일 압축 ... 470
      과제 19.2 파일 크기 줄이기 ... 471
   Unix 테이프 명령어 cpio ... 473
      과제 19.3 cpio 맛보기 ... 473
   개인 백업 솔루션 ... 476
      과제 19.4 개인적 백업을 위한 명령어 활용법 ... 476
   유닉스 패키지 관리자 ... 479
      과제 19.5 RPM 패키지 관리자의 기본적인 사용법 ... 479
   요약 ... 484
   실습 ... 484
      실습 과제 ... 485
      다음 장에서는 ... 485
Chapter 20 이메일
   세상과 상호작용하기 ... 488
      과제 20.1 mailx를 이용한 이메일 읽기 ... 488
      과제 20.2 mailx를 이용한 이메일 보내기 ... 495
      과제 20.3 인터넷 Email 주소 ... 499
      과제 20.4 보다 똑똑해진 이메일 프로그램, elm ... 503
      과제 20.5 Pine 훑어보기 ... 506
   요약 ... 507
   실습 ... 507
      실습 과제 ... 508
      다음 장에서는 ... 508
Chapter 21 telnet, SSH, 그리고 ftp
   시스템의 한계를 넘어서다 ... 512
      과제 21.1 원격 인터넷 시스템에 접속하기 ... 512
      과제 21.2 Windows와 Mac에서의 telnet ... 515
      과제 21.3 SSH를 사용한 보안 접속 ... 518
      과제 21.4 FTP를 사용한 파일 전송 ... 520
      과제 21.5 익명 FTP 서버 사용하기 ... 525
   요약 ... 530
   실습 ... 530
      실습 과제 ... 531
      다음 장에서는 ... 531
Chapter 22 정보 및 파일 검색
   대체 어디에? ... 534
      과제 22.1 find 명령어와 이상한 옵션들 ... 534
      과제 22.2 xargs를 이용한 find 사용 ... 539
      과제 22.3 인터넷에서 파일 얻기 ... 541
   요약 ... 544
   실습 ... 544
      실습 과제 ... 544
      다음 장에서는 ... 545
Chapter 23 Perl 프로그래밍
   Perl : 유연하고 강력한 프로그래밍 도구 ... 548
      과제 23.1 통화 단위 변환 프로그램 ... 548
      과제 23.2 -w 옵션을 사용하여 코드의 질 따져보기 ... 553
      과제 23.3 온라인 Perl 도움말 ... 556
      과제 23.4 다른 유용한 Perl 플래그들 ... 559
   요약 ... 560
   실습 ... 561
      실습 과제 ... 561
      다음 장에서는 ... 561
Chapter 24 GNOME과 GUI 환경
   GNOME 설정하기 ... 564
      과제 24.1 X11과 GNOME 시작하기 ... 564
      과제 24.2 GNOME 설정 조작하기 ... 567
   GNOME 프로그램들 ... 571
      과제 24.3 OpenOffice.org ... 571
      과제 24.4 Firefox ... 574
      과제 24.5 Evolution ... 576
   요약 ... 579
   실습 ... 580
      실습 과제 ... 581
Appendix A Unix FAQ
   공백 문자를 포함한 파일명에 대해서 find l xargs를 사용하려면? ... 584
   시스템에서 큰 파일들을 찾으려면? ... 585
   예정된 시간에 프로그램을 실행하려면? ... 585
      at 명령어 ... 586
      cron ... 586
   파일 권한 문제를 해결하려면? ... 587
   주어진 패턴에 일치하지 않는 파일들의 목록을 보려면? ... 587
   텍스트 파일에서 X번째 행부터 Y번째 행까지 추출하려면? ... 587
   PATH에 새로운 디렉터리를 추가하려면? ... 588
   삭제된 파일을 복구하려면? ... 589
   실수로 인한 삭제를 방지하기 위한 셸 설정은? ... 589
   셸 에러 중 "arg list too long"과 "broken pipe" 에러의 의미는? ... 589
   telnet 대신 ssh를, ftp 대신 sftp를 사용하는 이유는? ... 590
   요약 ... 590
Appendix B 아파치 웹 서버
   Unix 웹 서버 다루어보기 ... 594
      과제 B.1 아파치 설정 파일 확인 ... 594
      과제 B.2 간단한 CGI 프로그램 작성 ... 599
      과제 B.3 SSI(Server-Side Include) 프로그램 ... 602
      과제 B.4 아파치 로그 파일 이해 ... 604
   요약 ... 609
   실습 ... 610
닫기