이 책은 다섯 부분으로 구성되어 있으며 쉘 프로그래밍 기술, 다양한 UNIX 명령 및 구문을 자세히 소개하고 UNIX에서의 워드 프로세싱 및 소수의 시스템 관리 문제도 포함합니다. 이 책은 내용이 포괄적이고 텍스트가 간결하고 매끄러워서 Shell 프로그래머가 배우고 참고하기 적합합니다.
목차 번역가의 서문 1부 껍질
1장 파일 보안 및 권한 1
1.1 문서 1
1.2 파일 유형 2
1.3 권한 2
1.4 변경 허가 비트 4
1.4.1 기호 모드 4
1.4.2 chmod 명령 예 5
1.4.3 절대 모드 5
1.4.4 chmod 명령의 다른 예 6
1.4.5 기호 모드 또는 절대 모드를 사용하도록 선택할 수 있습니다. 7
1.5 목차 7
1.6 suid/guid 7
1.6.1 suid/guid 8을 사용하는 이유
1.6.2 suid/guid 8 설정 예
1.7 chown 및 chgrp 9
1.7.1 chown 예제 9
1.7.2 chgrp 예제 9
1.7.3 자신이 속한 사용자 그룹 찾기 9
1.7.4 다른 사용자가 속한 그룹 확인10
1.8마스크 10
1.8.1 umask 값을 계산하는 방법 10
1.8.2 일반적으로 사용되는 umask 값 11
1.9 심볼릭 링크 12
1.9.1 소프트 링크를 사용하여 파일의 여러 이미지 저장 12
1.9.2 심볼릭 링크 예제 12
1.10 요약 13
2장 find 및 xargs 사용 14
2.1 find 명령 옵션 14
2.1.1 이름 옵션 사용 15
2.1.2 perm 옵션 사용 16
2.1.3 디렉토리 무시 16
2.1.4 user 및 nouser 옵션 사용 16
2.1.5 group 및 nogroup 옵션 사용 16
2.1.6 변경 시간을 기준으로 파일 찾기 17
2.1.7 특정 파일보다 최신이거나 오래된 파일 찾기 17
2.1.8 유형 옵션 사용 17
2.1.9 크기 옵션 사용 18
2.1.10 깊이 옵션 사용 18
2.1.11 마운트 옵션 사용 18
2.1.12 cpio 옵션 사용 18
2.1.13 exec 또는 ok를 사용하여 쉘 명령 실행 19
2.1.14 find 명령어의 예 20
2.2 xargs 20
2.3 요약 21
3장 백그라운드에서 명령 실행 22
3.1 크론과 크론탭 22
3.1.1 crontab 도메인 22
3.1.2 crontab 항목의 예 23
3.1.3 crontab 명령 옵션 23
3.1.4 새로운 crontab 파일 생성 24
3.1.5 crontab 파일 목록 24
3.1.6 crontab 파일 편집 24
3.1.7 crontab 파일 삭제 25
3.1.8 손실된 crontab 파일 복구 25
3.2 명령 25
3.2.1 at 명령을 사용하여 명령 또는 스크립트 제출 26
3.2.2 제출된 과제 목록 27
3.2.3 작업 지우기 27
3.3 및 명령 27
3.3.1 백그라운드로 명령 제출 28
3.3.2 ps 명령을 사용하여 프로세스 보기 28
3.3.3 백그라운드 프로세스 종료 28
3.4 nohup 명령 29
3.4.1 nohup 명령을 사용하여 작업 제출 29
3.4.2 여러 작업을 동시에 제출 29
3.5 요약 30
4장 파일 이름 바꾸기 31
4.1 사용* 31
4.2 사용? 32
4.3 [...] 및 [!...] 사용 32
4.4 요약 33
5장 쉘 입력 및 출력 34
5.1 에코 34
5.2 읽기 35
5.3 고양이 37
5.4 파이프라인 38
5.5 티 39
5.6 표준 입력, 출력 및 오류 40
5.6.1 표준 입력 40
5.6.2 표준 출력 40
5.6.3 표준오차 40
5.7 파일 리디렉션 40
5.7.1 표준 출력 리디렉션 41
5.7.2 표준 입력 리디렉션 42
5.7.3 표준 오류 리디렉션 42
5.8 표준 출력과 표준 오류를 함께 사용하기 43
5.9 표준 출력과 표준 오류 병합 43
5.10 실행 44
5.11 파일 설명자 사용하기 44
5.12 요약 45
6장 명령 실행 순서 46
6.1 && 사용하기 46
6.2 사용 ||
6.3 ()와 { }를 사용하여 명령 결합 47
6.4 요약 48
2부 텍스트 필터링 7장 정규식 소개 49
7.1 마침표를 사용하여 단일 문자 일치 50
7.2 50행 시작 부분에 ^를 사용하여 문자열 또는 문자 시퀀스를 일치시킵니다.
7.3 문자열이나 문자 51을 줄 끝의 $와 일치시킵니다.
7.4 문자열에서 단일 문자나 반복되는 문자를 일치시키려면 *를 사용하세요.
7.5 를 사용하여 특수 문자의 의미를 가리세요 52
7.6 []를 사용하여 범위나 집합을 일치시키세요52
7.7 {}를 사용하여 패턴 결과가 나타나는 횟수를 일치시키세요 53
7.8 요약 55
8장 grep 제품군 56
8.1 grep 57
8.1.1 큰따옴표 57
8.1.2 grep 옵션 57
8.1.3 여러 파일 쿼리 57
8.1.4 라인 매치 57
8.1.5 라인 수 58
8.1.6 일치하지 않는 줄 표시하기 58
8.1.7 정확한 일치 58
8.1.8 대소문자 구분58
8.2 grep과 정규 표현식 58
8.2.1 모드 범위 59
8.2.2 59행의 시작 부분과 일치하지 않습니다.
8.2.3 세트 케이스 59
8.2.4 임의의 문자와 일치 59
8.2.5 날짜 쿼리 59
8.2.6 범위 조합 60
8.2.7 패턴 출현 확률 60
8.2.8 grep을 사용하여 "AND" 또는 "OR" 패턴 일치 61
8.2.9 빈 줄 61
8.2.10 특수문자 매칭 61
8.2.11 쿼리 형식의 파일 이름 61
8.2.12 IP 주소 쿼리 61
8.3 클래스 이름 62
8.4 시스템 grep 명령 62
8.4.1 목차 63
8.4.2 비밀번호 파일 63
8.4.3 ps 명령 사용 63
8.4.4 문자열에 grep 64 사용하기
8.5 이그레프 64
8.6 요약 65
9장 AWK 소개 66
9.1 awk 호출 66
9.2 awk 스크립트 67
9.2.1 패턴과 액션 67
9.2.2 도메인 및 레코드 67
9.2.3 awk 70의 정규식과 그 연산
9.2.4 메타문자 70
9.2.5 조건 연산자 70
9.2.6 awk 내장 변수 73
9.2.7 NF, NR 및 FILENAME 74
9.2.8 awk 연산자 75
9.2.9 내장 문자열 함수 78
9.2.10 문자열 마스킹 시퀀스 80
9.2.11 awk 출력 함수 printf 81
9.2.12 printf 수정자 81
9.2.13 awk 배열 86
9.3 요약 88
10장 sed 사용법 소개 89
10.1 sed 89로 데이터를 읽는 방법
10.2 sed 89 호출하기
10.2.1 sed 출력 저장 90
10.2.2 sed를 사용하여 파일의 텍스트를 쿼리하는 방법 90
10.2.3 기본 sed 편집 명령 90
10.3 sed와 정규식 91
10.4 기본 sed 프로그래밍 예제 91
10.4.1 p(rint)를 사용하여 91행 표시
10.4.2 인쇄 범위 91
10.4.3 인쇄 모드 92
10.4.4 패턴과 줄번호를 이용한 질의 92
10.4.5 메타문자 매칭 92
10.4.6 전체 파일 표시 92
10.4.7 임의의 문자 92
10.4.8 첫 번째 줄 92
10.4.9 마지막 줄 93
10.4.10 줄 번호 93 인쇄
10.4.11 추가 텍스트 93
10.4.12 sed 스크립트 파일 생성 94
10.4.13 텍스트 삽입 94
10.4.14 텍스트 수정 95
10.4.15 텍스트 삭제 96
10.4.16 대체 텍스트 96
10.5 대체를 사용하여 문자열 수정 97
10.6 sed 결과를 파일 명령에 쓰기 97
10.7 파일에서 텍스트 읽기 98
10.8 매칭 후 98번 출구
10.9 파일에 제어 문자 표시하기 99
10.10 시스템 sed 사용하기 99
10.10.1 제어 문자 처리 99
10.10.2 메시지 출력 처리 101
10.10.3 줄 시작 부분의 숫자 101을 제거합니다.
10.10.4 추가 텍스트 102
10.10.5 쉘에서 sed로 값 102 전달
10.10.6 sed 출력에서 쉘 변수 설정 102
10.11 빠른 한 줄 명령 102
10.12 요약 103
제 11 장 합병과 분할 104
11.1 정렬 사용법 104
11.1.1 개요 104
11.1.2 정렬 옵션 104
11.1.3 출력 저장 105
11.1.4 정렬 시작 방법 105
11.1.5 정렬이 도메인을 참조하는 방법 105
11.1.6 파일 분류 여부 105
11.1.7 기본 정렬 106
11.1.8 정렬 분류 역전 106
11.1.9 지정도메인별 분류 106
11.1.10 수치필드 분류 106
11.1.11 고유성 분류 107
11.1.12 k를 사용한 다른 정렬 방법 108
11.1.13 분류키 정렬에 k를 사용하기 108
11.1.14 정렬 순서 지정 108
11.1.15 위치 사용법 108
11.1.16 머리와 꼬리를 사용하여 출력 분류 109
11.1.17 awk는 정렬을 사용하여 결과를 출력합니다. 109
11.1.18 두 개의 분류 파일 병합 110
11.2 시스템 정렬 110
11.3 고유한 사용법 111
11.4 조인 사용법 112
11.5 컷 사용법 114
11.5.1 도메인 구분 기호 사용 115
11.5.2 지정된 필드 잘라내기 115
11.6 페이스트 사용법 116
11.6.1 열 지정 116
11.6.2 다양한 필드 구분 기호 사용 116
11.6.3 붙여넣기 명령 파이프라인 입력 117
11.7 분할 사용법 117
11.8 요약 118
12장 tr 사용법 119
12.1 tr 119 소개
12.1.1 문자 범위 119
12.1.2 출력 저장 120
12.1.3 반복되는 문자 제거 120
12.1.4 빈 줄 삭제 120
12.1.5 대문자를 소문자로 121
12.1.6 소문자에서 대문자로 121
12.1.7 특정 문자 삭제 121
12.1.8 제어 문자 변환 122
12.1.9 빠른 변환 122
12.1.10 두 개 이상의 문자 매칭 123
12.2 요약 123
3부 로그인 환경 13장 로그인 환경 125
13.1 /etc/프로필 125
13.2 사용자의 $HOME.profile 128
13.3 stty 사용법 129
13.4 .logout 파일 생성 131
13.5 요약 131
14장 환경 및 셸 변수 132
14.1 쉘 변수란 무엇인가132
14.2 지역변수 132
14.2.1 표시변수 133
14.2.2 변수 지우기 133
14.2.3 모든 로컬 쉘 변수 표시 133
14.2.4 변수값 합치기 134
14.2.5 변수가 설정되었는지 테스트하기 134
14.2.6 변수를 사용하여 시스템 명령 매개변수 저장 135
14.2.7 읽기 전용 변수 설정하기 135
14.3 환경 변수 136
14.3.1 환경변수 설정하기 136
14.3.2 환경 변수 표시 136
14.3.3 환경 변수 지우기 137
14.3.4 쉘 변수 삽입 137
14.3.5 기타 환경 변수 139
14.3.6 설정 명령 140
14.3.7 자식 프로세스로 변수 내보내기 140
14.4 위치변수 매개변수 141
14.4.1 스크립트에서 위치 매개변수 사용하기 142
14.4.2 시스템 명령에 매개변수 전달 142
14.4.3 특정 변수 매개변수 143
14.4.4 최종 종료 상태 144
14.5 요약 145
제 15 장 인용문 146
15.1 인용의 필요성 146
15.2 큰따옴표 146
15.3 작은따옴표 147
15.4 백틱147
15.5 백슬래시 148
15.6 요약 149
4부 기본 쉘 프로그래밍 16장 쉘 스크립트 소개 151
16.1 쉘 스크립트를 사용하는 이유 151
16.2 스크립트 내용 151
16.3 스크립트 실행하기 152
16.4 요약 153
17장 조건부 테스트 154
17.1 테스트 파일 상태 154
17.2 테스트 시 논리 연산자 사용하기 155
17.3 문자열 테스트 155
17.4 시험값 156
17.5 expr 사용법 157
17.5.1 증분 계산 158
17.5.2 수치 테스트 158
17.5.3 패턴 매칭 158
17.6 요약 159
18장 제어 흐름 구조 160
18.1 종료 상태 160
18.2 제어 구조 160
18.2.1 흐름 제어 161
18.2.2 루프 161
18.3 if then else 문 161
18.3.1 간단한 if 문 162
18.3.2 변수값 테스트 162
18.3.3 grep 출력 검사 163
18.3.4 변수를 사용하여 grep 출력 테스트 163
18.3.5 파일 복사 출력 확인 164
18.3.6 현재 디렉토리 테스트 164
18.3.7 파일 권한 테스트 165
18.3.8 스크립트에 전달된 매개변수 테스트 165
18.3.9 스크립트가 대화형 모드인지 확인165
18.3.10 간단한 if else 문 166
18.3.11 변수 설정 테스트 166
18.3.12 스크립트를 실행하는 사용자 감지 166
18.3.13 시스템 명령에 스크립트 매개변수 전달 167
18.3.14 null: 명령 사용법 167
18.3.15 테스트 디렉터리 생성 결과 168
18.3.16 또 다른 복사본 인스턴스 169
18.3.17 다중 if 문 169
18.3.18 환경 변수 테스트 및 설정 169
18.3.19 마지막 명령 상태 감지 170
18.3.20 정수값 추가 및 확인 171
18.3.21 단순 보안 로그인 스크립트 172
18.3.22 elif 사용법 173
18.3.23 다중 조건 감지를 위해 elif 사용 173
18.3.24 다중 파일 위치 감지 174
18.4 사례 진술 175
18.4.1 간단한 사례문 175
18.4.2 일치 패턴 사용 176 |
18.4.3 y 또는 n을 입력하라는 프롬프트 177
18.4.4 177을 전달하는 케이스 및 명령 매개변수
18.4.5 입력 캡처 및 빈 명령 실행 178
18.4.6 기본 변수 값 179
루프 180의 경우 18.5
18.5.1 간단한 for 루프 181
18.5.2 문자열 목록 인쇄 181
18.5.3 for 루프와 함께 ls 명령 사용 181
18.5.4 for 루프에 매개변수 사용하기 182
18.5.5 for 루프를 사용하여 서버에 연결 183
18.5.6 for 루프를 사용하여 파일 백업 183
18.5.7 다중 파일 변환 183
18.5.8 다중 sed 삭제 작업 184
18.5.9 루프 횟수 184
18.5.10 for 루프 및 로컬 문서 184
18.5.11 루프 임베딩 185
18.6 루프 186까지
18.6.1 단순 루프 186
18.6.2 모니터링 파일 187
18.6.3 디스크 공간 모니터링 187
18.7 while 루프 188
18.7.1 간단한 while 루프 188
18.7.2 while 루프를 사용하여 키보드 입력 읽기 188
18.7.3 while 루프를 사용하여 파일에서 데이터 읽기 189
18.7.4 IFS 189를 사용하여 파일 읽기
18.7.5 테스트 조건에 따른 파일 처리 190
18.7.6 카운트를 위한 파일 라인 스캔 191
18.7.7 한 번에 한 쌍의 레코드 읽기 193
18.7.8 # 문자 무시 193
18.7.9 서식이 지정된 보고서 처리 194
18.7.10 while 루프와 파일 설명자 196
18.8 break와 continue를 사용하여 루프 제어하기 197
18.8.1 중단 197
18.8.2 사례문에서 벗어나기 197
18.8.3 계속 197
18.8.4 파일 라인 찾아보기 198
18.9 메뉴 199
18.10 요약 201
19장 셸 기능 202
19.1 스크립트에서 함수 정의하기 203
19.2 스크립트에서 함수 사용하기 203
19.3 함수에 매개변수 전달하기 203
19.4 호출 함수에서 203 반환
19.5 함수 반환 값 테스트 204
19.6 셸에서 함수 사용하기 204
19.7 함수 파일 생성 204
19.8 파일 찾기 205
19.9 로딩 기능 확인하기 205
19.10 쉘 함수 실행하기 205
19.10.1 쉘 삭제 기능 206
19.10.2 쉘 기능 편집 206
19.10.3 기능 예시 207
19.10.4 기능 그룹화 219
19.11 함수 호출 219
19.11.1 스크립트에서 함수 호출 219
19.11.2 함수 파일에서 함수 호출 220
19.12 파일 찾기는 단지 기능만을 위한 것이 아닙니다 222
19.13 요약 223
20장 스크립트에 매개변수 전달 224
20.1 시프트 명령 225
20.1.1 Shift 명령의 간단한 사용법 225
20.1.2 명령줄에 입력된 마지막 매개변수 225
20.1.3 Shift를 사용하여 파일 변환 처리 226
20.2 getopts 229
20.2.1 getopts 스크립트 예제 229
20.2.2 getopts 사용법 231
20.2.3 getopts를 사용하여 변수값 지정 231
20.2.4 접근값 방식 232
20.2.5 getopts를 사용하여 파일 변환 처리 233
20.3 요약 235
21 장 화면 출력 생성 236
21.1 처리량 사용량 236
21.1.1 문자열 출력 236
21.1.2 디지털 출력 237
21.1.3 부울 출력 237
21.2 출력 사용량 237
21.2.1 tput 명령 설정 237
21.2.2 부울 출력 사용 237
21.2.3 스크립트에서 tput 사용하기 237
21.2.4 이스케이프 시퀀스 생성하기 238
21.2.5 커서 위치 239
21.2.6 화면 중앙에 텍스트 표시하기 240
21.2.7 터미널 속성 찾기 240
21.2.8 스크립트에서 기능 키 사용 241
21.2.9 색상 사용 242
21.2.10 색상 생성 243
21.2.11 절묘한 메뉴 생성 246
21.3 요약 251
22장 화면 입력 만들기 252
22.1 레코드 추가 252
22.2 기록 삭제 262
22.3 수정 기록 266
22.4 기록 보기 270
22.5 요약 273
23장 스크립트 디버깅 274
23.1 일반적인 오류 274
23.1.1 루프 오류 274
23.1.2 전형적인 누락된 따옴표 274
23.1.3 테스트 오류 274
23.1.4 문자 케이스 275
루프 275에 대한 23.1.5
23.1.6 에코 275
23.2 설정 명령 275
23.3 요약 276
24장 쉘 임베딩 명령 277
24.1 쉘 내장 명령의 전체 목록 277
24.1.1 비밀번호 277
24.1.2 세트 278
24.1.3배 278
24.1.4 유형 278
24.1.5 ulimit 279
24.1.6 잠깐 279
24.2 요약 279
5부 고급 쉘 프로그래밍 기술 25장 심층 토론
확장하다