목차 일부
Chapter 01 Unix란 무엇인가?
Unix란 무엇인가? ... 24
Unix의 역사 ... 25
새로운 프로그래밍 언어, C ... 27
Unix 인기를 얻다 ... 28
다중사용자 시스템이란? ... 28
셸이란 ... 29
도움말(Help) 사용법 ... 31
과제 1.1 Man 페이지 ...
더보기
목차 전체
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
더보기 닫기