
UNIX/Linux套用、编程与系统管理(第3版)
《UNIX/Linux套用、编程与系统管理(第3版)》是2014年清华大学出版社出版的图书,作者是(美)达斯(Das, S.)。
基本介绍
- 书名:UNIX/Linux套用、编程与系统管理(第3版)
- 作者:(美)达斯(Das, S.)
- 译者:贾洪峰 / 李莉
- ISBN:9787302355847
- 页数:740
- 定价:99元
- 出版社:清华大学出版社
- 出版时间:2014-4-1
- 装帧:平装
出版信息
作者:[美] Sumitabha Das 着 贾洪峰 李莉 译
定价:99元
印次:1-1
ISBN:9787302355847
出版日期:2014.04.01
印刷日期:2014.04.16
内容简介
《UNIX/Linux套用、编程与系统管理(第3版)》兼顾用户和程式设计师的思路来编写,是终极的UNIX/Linux教材。
本书既有教学工具又有详尽的参考资料,非常适合于任何UNIX或Linux相关课程。与类似教材不同的是,本书设定了一个强大的教学框架,能够使入门级的学生牢固地掌握基本概念,而高级主题章节能激发更有经验的读者超越基础知识。
《UNIX/Linux套用、编程与系统管理(第3版)》兼顾用户和程式设计师的思路来编写,是终极的UNIX/Linux教材。本书既有教学工具又有详尽的参考资料,非常适合于任何UNIX或Linux相关课程。与类似教材不同的是,本书设定了一个强大的教学框架,能够使入门级的学生牢固地掌握基本概念,而高级主题章节能激发更有经验的读者超越基础知识。书中提供了近千道练习和自测题,用于让学生测试和巩固他们对知识的理解。
UNIX是计算机发展历史上最成功的作业系统家族。它诞生于贝尔实验室,尔后迅速成为世界上作业系统的主流并延续至今。Linux派生于UNIX,并且在小型机和桌面计算机领域成为和微软的Windows并驾齐驱的作业系统家族。
图书目录
第I部分UNIX之用户篇
第1章UNIX简介 3
1.1作业系统 4
1.2UNIX作业系统 5
1.3了解你的计算机 5
1.4系统管理员 7
1.5登录和注销 7
1.5.1登录 7
1.5.2 注销 8
1.6实践练习 9
1.6.1用date和who查看
系统信息 9
1.6.2用ps查看进程 10
1.6.3 处理档案 11
1.6.4 处理目录 12
1.7UNIX的成功之路 14
1.7.1 伯克利:第二学派 14
1.7.2 UNIX的分化 15
1.7.3 网际网路 15
1.7.4Windows的威胁 15
1.8POSIX和单一UNIX规範 16
1.9Linux和GNU 16
1.10UNIX体系结构 17
1.10.1 分工:Kernel和shell 17
1.10.2档案和进程 18
1.10.3 系统调用 19
1.11UNIX的功能 19
1.11.1 多用户系统 19
1.11.2多任务系统 20
1.11.3应用程式库 20
1.11.4 构建基块方法 20
1.11.5 模式匹配 21
1.11.6 程式设计实用工具 21
1.11.7文档 21
1.12小结 22
1.13自测题 22
1.14习题 23
第2章熟悉UNIX命令 25
2.1命令基础 26
2.1.1PATH:定位命令 26
2.1.2命令的存放位置 27
2.2命令结构 28
2.3命令套用的灵活性 30
2.4man:在线上帮助 31
2.4.1导航与查找 33
2.4.2用man-k和man-f
获取更多帮助 33
2.5man文档 33
2.5.1了解man页 34
2.5.2用man来理解man 35
2.6echo:显示讯息 37
2.7printf:echo的替代命令 39
2.8script:记录会话 39
2.9以mailx命令使用电子邮件 40
2.9.1传送邮件 40
2.9.2接收邮件 41
2.9.3mailx内部命令 42
2.10passwd:改变密码 43
2.11uname:显示计算机名和
作业系统 44
2.12who:了解用户 45
2.13date:显示系统日期 45
2.14stty:在出错时 46
2.15XWindow系统 48
2.15.1终端模拟器 48
2.15.2档案管理器 49
2.16小结 50
2.17自测题 51
2.18习题 52
第3章档案系统 55
3.1档案 56
3.1.1普通(常规)档案 56
3.1.2目录档案 56
3.1.3设备档案 57
3.2档案名称中有什幺 57
3.3档案系统的层次结构 58
3.4UNIX档案系统 59
3.5随命令一起使用绝对路径名 60
3.6HOME变数和~:主目录 61
3.7pwd和cd:在档案系统中
导航 61
3.8相对路径名(.和..) 63
3.9mkdir:创建目录 64
3.10rmdir:删除目录 65
3.11ls:列出档案 66
3.12cp:複製档案 69
3.13mv:重命名档案 70
3.14rm:删除档案 71
3.15cat:显示和串联档案 73
3.16more:UNIX分页器 74
3.17pico:基本文本编辑 76
3.17.1导航 77
3.17.2文本编辑 77
3.18wc:计算行数、字数和
字元数 77
3.19lp:列印档案 78
3.20od:查看不可列印字元 80
3.21dos2unix、unix2dos和
Tofrodos:在DOS和
UNIX之间转换 80
3.22tar:存档程式 81
3.23gzip:压缩程式 82
3.24zip:压缩和存档程式 84
3.25使用这些命令的其他方式 85
3.26小结 85
3.27自测题 86
3.28习题 86
第4章档案属性 89
4.1重温ls(-l):列出档案属性 89
4.2档案许可权 91
4.3chmod:改变档案许可权 92
4.3.1相对许可权 93
4.3.2绝对赋予许可权 94
4.3.3递推操作(-R) 95
4.4目录 96
4.4.1读许可权 96
4.4.2写许可权 96
4.4.3执行许可权 98
4.5umask:默认的档案与
目录许可权 98
4.6档案系统和inode 99
4.7ln:创建硬连结 101
4.8再论ln:创建符号连结 103
4.9档案所有权 105
4.9.1chown:改变档案所有权 106
4.9.2chgrp:改变用户组
所有者 106
4.9.3如何处理入侵者 107
4.10修改时间与访问时间 108
4.11find:定位档案 108
4.11.1选择準则 110
4.11.2find操作符(!,-o和-a) 112
4.11.3操作部分的操作符 112
4.12小结 113
4.13自测题 113
4.14习题 114
第5章vi/vim编辑器 117
5.1vi基础 118
5.2一些提示 120
5.3输入模式——输入和
替换文本 121
5.3.1插入和追加文本(i和a) 122
5.3.2在行的两端插入和追加
文本(I和A) 122
5.3.3新建一行(o和O) 123
5.3.4替换文本(r、s、R和S) 124
5.3.5输入控制字元([Ctrl-v]) 125
5.4保存文本并退出——ex模式 126
5.4.1保存工作(:w) 127
5.4.2保存并退出(:x和:wq) 127
5.4.3中止编辑(:q) 127
5.4.4写入选定行 128
5.4.5退出到shell(:sh和
[Ctrl-z]) 129
5.5从崩溃中恢复(:recover和-r) 129
5.6导航 130
5.6.14个方向上的相对
移动(h、j、k和l) 131
5.6.2滚动([Ctrl-f]、[Ctrl-b]、
[Ctrl-d]和[Ctrl-u]) 131
5.6.3单词导航(b、e和w) 132
5.6.4移到行的末端(0、|和$) 132
5.6.5绝对移动(G) 133
5.7编辑文本,不使用操作符 133
5.7.1删除文本(x、X和dd) 133
5.7.2移动文本(p) 134
5.7.3合併行(J) 134
5.7.4改变大小写(~) 135
5.8纠正C程式 135
5.9用操作符编辑文本 136
5.9.1删除和移动文本
(d、p和P) 137
5.9.2複製文本(y、p和P) 138
5.9.3修改文本(c) 139
5.10在档案之间複製和
移动文本 139
5.11撤消之前的编辑
指令(u和U) 140
5.12查找模式(/和?) 141
5.13重複上一条命令(.) 142
5.14替代-查找并替换(:s) 143
5.15set:定製vi 144
5.16map:映射键盘的按键 146
5.17abbr:文本输入的缩写 147
5.18小结 147
5.19自测题 148
5.20习题 149
第6章shell 151
6.1作为命令处理器的shell 152
6.2shell提供的功能 152
6.3模式匹配——通配符 153
6.3.1*和? 154
6.3.2字元类 155
6.3.3匹配句点 156
6.3.4综述 157
6.4转义与引用 157
6.4.1转义 158
6.4.2引用 159
6.4.3在echo中进行转义 159
6.5重定向 160
6.5.1标準输入 160
6.5.2标準输出 162
6.5.3档案描述符 163
6.5.4标準错误 164
6.5.5过滤器——使用标準
输入与标準输出 165
6.6集体处理 165
6.6.1複製描述符 166
6.6.2命令分组 166
6.7/dev/null和/dev/tty:两个
独立的档案 167
6.8管道 168
6.9tee:创建一个T型三通 170
6.10命令替换 171
6.11shell变数 172
6.11.1引用和转义的影响 173
6.11.2使用shell变数的场合 174
6.12shell脚本 175
6.13shell对命令行的处理 175
6.14有关通配符的更多信息 176
6.15xargs:构建动态命令行 177
6.16小结 177
6.17自测题 178
6.18习题 179
第7章进程 181
7.1进程基础 182
7.2shell和init 182
7.3ps:显示进程属性 183
7.4系统进程和init 184
7.5进程创建机制 187
7.6继承的进程属性 188
7.7不能使用单独进程的情景 190
7.8进程状态与殭尸
进程(Zombie) 190
7.9信号处理 191
7.10在后台运行作业 193
7.10.1&:不注销 194
7.10.2nohup:安全注销 194
7.11作业控制 195
7.12at和batch:推后执行 198
7.12.1at:一次执行 198
7.12.2batch:在批伫列中
执行作业 199
7.12.3限制at和batch的使用 199
7.13cron和crontab:定期
运行作业 199
7.14小结 202
7.15自测题 203
7.16习题 203
第8章shell—定製环境 205
8.1shell 205
8.2环境变数 207
8.3常见环境变数 208
8.4别名 212
8.5命令历史记录 213
8.5.1访问之前的命令 214
8.5.2 在先前命令中进行替换 215
8.5.3使用上一条命令中的
参数($_) 215
8.5.4历史记录变数 216
8.6行内命令编辑 217
8.7~替换 218
8.8使用set选项 219
8.9初始化脚本 220
8.9.1登录脚本 221
8.9.2rc档案 221
8.10Cshell 222
8.10.1局部变数和环境变数 222
8.10.2别名 224
8.10.3历史记录 225
8.10.4 其他shell变数 225
8.10.5初始化脚本 226
8.11目录栈操作 226
8.12小结 228
8.13自测题 229
8.14习题 229
第9章简单过滤器 231
9.1pr:对档案进行编页 232
9.2对比档案 233
9.3cmp:逐位元组对比 234
9.4comm:哪些共同内容 235
9.5diff:将一个档案转换为
另一档案 236
9.6head:显示一个档案的开头 236
9.7tail:显示档案的末尾 237
9.8cut:垂直划分档案 238
9.9paste:贴上档案 240
9.10sort:对档案进行排序 240
9.11uniq:定位重複行和
非重複行 244
9.12tr:变换字元 245
9.13套用过滤器 247
9.13.1列出当前目录中5个
最大的档案 248
9.13.2创建一份单词使用
情况列表 249
9.13.3找出两个密码档案
之间的差别 249
9.14小结 251
9.15自测题 251
9.16习题 252
第10章使用正则表达式的
过滤器——grep和sed 255
10.1示例资料库 256
10.2grep:查找模式 256
10.2.1grep中的引用 257
10.2.2grep失败的场合 258
10.3grep选项 258
10.4基本正则表达式(BRE)
——简介 260
10.4.1字元类 262
10.4.2* 262
10.4.3句点 263
10.4.4指定模式位置(^和$) 264
10.4.5元字元失去其意义的
情景 265
10.5扩展正则表达式(ERE)和
egrep 265
10.5.1+和? 266
10.5.2匹配多种模式(|、(和)) 266
10.6sed:流编辑器 267
10.7行定址 269
10.8sed选项 270
10.9上下文定址 271
10.10将选定行写入档案(w) 272
10.11文本编辑 272
10.11.1插入和改变行
(i、a、c) 272
10.11.2删除行(d) 273
10.12替换(s) 274
10.12.1在替换中使用正则
表达式 275
10.12.2记忆模式(//) 275
10.13基本正则表达式回顾 276
10.13.1重複模式(&) 277
10.13.2间隔正则表达式
(IRE) 277
10.13.3标记正则表达式
(TRE) 277
10.14套用IRE和TRE 278
10.14.1处理电话簿 278
10.14.2用POSIX兼容的函式
替换过时的函式 279
10.14.3变换URL中的
路径名 280
10.15小结 281
10.16自测题 281
10.17习题 282
第11章联网工具 285
11.1TCP/IP基础知识 286
11.2解析主机名和IP位址 287
11.2.1/etc/hosts:主机档案 287
11.2.2域名系统(DNS) 288
11.3客户端-伺服器:网路
应用程式如何通信 290
11.4ping:检查网路 291
11.5telnet:远程登录 292
11.6ftp:档案传输协定 293
11.6.1基本档案与目录处理 293
11.6.2传送档案 294
11.6.3匿名FTP 295
11.7密码学基础 296
11.7.1对称密钥算法 296
11.7.2非对称密钥算法 297
11.8SSH:安全shell 297
11.8.1主机验证 297
11.8.2rhosts/shosts验证机制 298
11.8.3採用对称算法的用户验证 298
11.8.4使用SSH代理进行非互动式登录 300
11.9SSH协定 301
11.9.1远程登录与执行命令(ssh和slogin) 301
11.9.2用sftp和scp进行档案传输 302
11.10网际网路邮件 303
11.11MIME:处理邮件中的二进制附属档案 305
11.12在TCP/IP网路上使用XWindow 306
11.12.1显示器 306
11.12.2使用DISPLAY变数 307
11.12.3使用-display选项 307
11.13HTTP和全球资讯网 307
11.13.1统一资源定位符(URL) 308
11.13.2HTTP:Web的协定 309
11.13.3运行外部程式 309
11.13.4HTML:网页的语言 310
11.13.5Web浏览器 311
11.14Web上的多媒体:重温MIME 311
11.15小结 312
11.16自测题 313
11.17习题 314
第II部分UNIX之程式设计师篇
第12章用awk进行过滤和程式设计 317
12.1awk预备知识 318
12.2使用print和printf 320
12.3数字处理 321
12.4变数和表达式 322
12.5比较与逻辑运算符 324
12.5.1字元串和数值比较 324
12.5.2~和!~:正则表达式运算符 325
12.5.3逻辑运算符 327
12.6-f选项:将awk程式存储在档案中 327
12.7BEGIN和END节 328
12.8位置参数 329
12.9数组 329
12.9.1关联(哈希)数组 330
12.9.2ENVIRON[]:环境
数组 331
12.10内置变数 331
12.11函式 333
12.12控制流——if语句 335
12.13for循环 336
12.14while循环 338
12.15结论 339
12.16小结 340
12.17自测题 340
12.18习题 341
第13章shell程式设计 345
13.1shell脚本 346
13.1.1script.sh:一个简单脚本 346
13.1.2She-Bang行 347
13.2read:使脚本变为互动式的 348
13.3使用命令行参数 348
13.4exit和$?:命令的退出状态 350
13.5逻辑运算符&&和||——条件执行 351
13.6if条件句 351
13.7使用test和[]对表达式求值 353
13.7.1数值比较 353
13.7.2[]:test的捷径 354
13.7.3字元串比较 355
13.7.4档案属性检验 355
13.7.5使用複合条件 357
13.8两个重要的程式设计习惯 357
13.8.1以互动式、非互动式执行一项任务 357
13.8.2用不同名称调用脚本($0) 359
13.9case条件句 359
13.10expr、bc和basename:计算与字元串处理 361
13.10.1用expr进行计算 362
13.10.2用bc进行浮点计算 362
13.10.3用expr处理字元串 363
13.10.4basename:改变档案名称扩展 364
13.11示例程式1:自动选择上一个C程式 365
13.12for:用列表进行循环 366
13.12.1列表的来源 366
13.12.2使用for的重要套用 367
13.13while:循环 367
13.13.1在循环中处理重定向 368
13.13.2使用while等待档案 369
13.13.3找出用户占用的空间 370
13.13.4break和continue 371
13.14示例脚本2:向备份档案提供数字扩展名 371
13.15用set和shift处理位置参数 373
13.15.1按名称杀死进程 374
13.15.2shift:左移位置参数 374
13.15.3IFS变数:set的默认分隔设定 375
13.16示例脚本3:已下载档案的目录 376
13.17Here文档(<<) 378
13.18shell函式 379
13.19trap:脚本如何处理信号 380
13.20eval:两次求值 381
13.21exec语句 382
13.22小结 382
13.23自测题 383
13.24习题 384
第14章perl——高级操纵器 387
14.1perl预备知识 388
14.2变数和常数 389
14.3运算符 391
14.3.1比较与逻辑运算符 391
14.3.2串联运算符和重複运算符(.和x) 392
14.4标準条件句与循环 392
14.4.1if条件句 393
14.4.2while、do-while和for循环 393
14.5从命令行参数读取档案 394
14.5.1用单行代码读取档案 395
14.5.2在脚本中读取档案 395
14.6当前行号($.)和範围
运算符(..) 396
14.7$_:默认变数 396
14.8字元串处理函式 397
14.9列表和数组 399
14.10foreach:循环遍历
一个列表 401
14.11两个重要的列表函式 402
14.11.1split:分割到列表或
数组中 402
14.11.2join:联接列表 404
14.12dec2bin.pl:将十进制数
变换为二进制 404
14.13关联数组 405
14.14使用正则表达式 407
14.14.1识别空白、数位和单词 407
14.14.2IRE的TRE功能 408
14.15用s和tr函式替换 409
14.16档案处理 411
14.17档案测试 412
14.18子例程 413
14.19用perl进行CGI程式设计——概述 414
14.19.1查询字元串 414
14.19.2GET和POST:
请求方法 415
14.20小结 415
14.21自测题 416
14.22习题 417
第15章C语言简介 421
15.1C语言 422
15.2first_prog.c:理解我们的第一个C程式 423
15.2.1预处理器部分 424
15.2.2主体 424
15.2.3main:独一无二的函式 425
15.3printf和scanf:两个重要函式 426
15.3.1printf:列印到终端 426
15.3.2scanf:由键盘输入 427
15.4变数和常数 427
15.5基本数据类型 428
15.5.1整型 428
15.5.2浮点类型 429
15.5.3字元类型 430
15.6sizeof.c:确定基本数据
类型的大小 431
15.7符号常量:有名称的常量 432
15.8数组 432
15.9arrays.c:列印数组元素 433
15.10结构 434
15.11运算符和表达式 435
15.11.1位运算符 436
15.11.2自动变换 436
15.11.3隐式变换 437
15.12type_conversion.c:演示类型变换 438
15.13求值顺序 440
15.13.1运算符优先权 440
15.13.2运算符结合性 441
15.14控制流回顾 441
15.14.1用switch进行决策 442
15.14.2用do-while重複 443
15.14.3break和continue 443
15.15函式 444
15.16first_func.c:两个参数和
返回值 445
15.17函式实参、形参和局部
变数 446
15.17.1按值传递 447
15.17.2swap_failure.c:形参与局部变数的可见性 448
15.17.3以数组为函式实参 449
15.17.4以结构作为函式实参 450
15.18指针 450
15.19pointers.c:指针的基本功能 452
15.20指针属性 453
15.20.1指针运算 453
15.20.2其他属性 454
15.21指针和函式 455
15.21.1解决交换问题 455
15.21.2用指针返回多个值 456
15.22指针和其他数据类型 456
15.22.1指针和数组 456
15.22.2指针和字元串 457
15.22.3字元串数组 458
15.22.4指针和结构 458
15.23小结 459
15.24自测题 460
15.25习题 461
第16章程式开发工具 463
16.1处理拥有多个源档案的C应用程式 463
16.1.1包含多个源档案的应用程式 464
16.1.2编译和连结应用程式 466
16.1.3为什幺需要.o档案 467
16.2make:使程式保持最新 468
16.2.1删除冗余 470
16.2.2make的其他功能:清理与备份 470
16.2.3宏 471
16.3ar:生成库(档案) 472
16.3.1使用库 473
16.3.2用make维护档案 474
16.4静态库和共享库 474
16.5用SCCS、RCS和CVS
实现版本控制 475
16.6SCCS会话 476
16.6.1admin:创建一个SCCS档案 477
16.6.2get:签出 477
16.6.3delta:签入 478
16.6.4unget:如果改变主意 480
16.7活动与历史信息 481
16.7.1sact:显示活动状态 481
16.7.2prs:显示SCCS历史 481
16.8继续以SCCS编辑 482
16.8.1get-r:改变默认的
编号顺序 482
16.8.2处理多个版本 483
16.8.3rmdel和comb:删除和
合併版本 484
16.8.4使用标识关键字 485
16.9控制对SCCS的访问许可权 486
16.9.1控制用户访问 486
16.9.2控制发布版本 486
16.10版本控制系统(RCS) 487
16.10.1用ci创建RCS档案 488
16.10.2co和ci:签出和签入 488
16.10.3指定修订 489
16.10.4rlog和rcs:其他
RCS功能 490
16.11并发版本系统(CVS) 492
16.11.1建立存储库 493
16.11.2导入档案 493
16.11.3签出 494
16.11.4编辑和签入 494
16.11.5合併和解决冲突 495
16.11.6设定标记并导出
存储库 496
16.11.7其他功能 496
16.12用gdb调试程式 497
16.12.1启动gdb 500
16.12.2使用断点 501
16.12.3单步执行程式 502
16.12.4再赋值 503
16.12.5设定观察点 504
16.12.6gdb的其他功能 505
16.13小结 506
16.14自测题 506
16.15习题 507
第17章系统程式设计I——档案 509
17.1系统调用的基础知识 510
17.1.1系统调用剖析 510
17.1.2系统调用与库
函式的对比 510
17.2errno和perror:处理错误 511
17.3open:打开和创建档案 513
17.4close:关闭档案 515
17.5read:读取档案 516
17.6write:写档案 516
17.7ccp.c:複製档案 517
17.8lseek:定位偏移指针 519
17.9truncate和ftruncate:截短档案 521
17.10umask:在创建期间修改档案许可权 522
17.11目录导航 523
17.12读取目录 524
17.13修改目录中的项目 526
17.13.1mkdir和rmdir:创建和删除目录 526
17.13.2link和symlink:创建硬连结和符号连结 526
17.13.3unlink:删除连结 527
17.13.4rename:对档案、目录或符号连结重命名 527
17.14读取Inode:structstat和stat 528
17.14.1attributes.c:显示一些档案属性 529
17.14.2S_IFMT:处理st_mode成员 530
17.14.3用S_ISxxx宏确定档案类型 530
17.14.4访问许可权位 531
17.14.5lsdir.c:仅列出目录 531
17.15access:检查实际用户的许可权 533
17.16修改档案属性 534
17.16.1chmod和fchmod:
改变档案许可权 535
17.16.2chown:改变所有权 535
17.16.3utime:改变时间戳记 536
17.16.4atimemtime.c:创建一个具有相同时间
戳记的档案 536
17.17小结 537
17.18自测题 538
17.19习题 539
第18章系统程式设计II
——进程控制 541
18.1进程回顾 541
18.1.1虚拟地址空间 542
18.1.2进程表 543
18.2进程环境 544
18.3fork:複製当前进程 545
18.4exec:进程创建的最终
步骤 547
18.4.1execl和execv:关键
成员 548
18.4.2其他exec成员 549
18.5收集退出状态 550
18.5.1wait:当父进程等待时 550
18.5.2waitpid:一种功能更
强大的等待机制 551
18.6fork_exec_wait.c:使用
全部三个调用 552
18.7档案共享 553
18.7.1档案说明符表 554
18.7.2档案表 554
18.7.3vnode表 555
18.7.4当连结发生变化时 555
18.8档案说明符处理 556
18.8.1dup和dup2:複製档案说明符 556
18.8.2redirection.c:最后讨论重定向 557
18.8.3fcntl:对其推荐程度高于dup和dup2 559
18.9信号处理 559
18.10sigaction:安装信号处理器 561
18.10.1signal.c:捕获SIGALRM信号 563
18.10.2捕获终端生成的信号 564
18.11killprocess.c:使用fork-exec-wait和SIGCHLD 565
18.12用未命名管道实现进程间通信 567
18.12.1和fork一起使用pipe 568
18.12.2pipe2.c:在管道中运行UNIX命令 569
18.13小结 570
18.14自测题 571
18.15习题 572
第III部分系统管理
第19章系统管理 577
19.1root:系统管理员的登录 578
19.2管理员的特权 579
19.3用户管理 580
19.3.1理解/etc/group 580
19.3.2理解/etc/passwd 581
19.3.3添加和修改用户配置档案 582
19.4维护安全 583
19.4.1受限制的shell 583
19.4.2Set-User-Id(SUID):临时能力 584
19.4.3粘着位 585
19.5启动与关机 585
19.5.1启动 585
19.5.2关机 586
19.6init如何控制系统 587
19.6.1init如何创建shell 588
19.6.2rc脚本 589
19.7设备档案 590
19.7.1块设备和字元设备 590
19.7.2主次设备号 591
19.8档案系统 591
19.8.1档案系统的组成部分 592
19.8.2标準档案系统及其类型 592
19.9载入和卸载档案系统 593
19.9.1mount:载入档案系统 593
19.9.2umount:卸载档案系统 594
19.10fsck:档案系统检查 595
19.11管理磁碟空间 596
19.11.1df:报告空闲空间 596
19.11.2du:磁碟利用率 596
19.11.3find回顾:管理员的工具 597
19.12处理软碟 597
19.12.1format和fdformat:格式化磁碟 598
19.12.2dd:複製磁碟 598
19.12.3处理DOS磁碟 598
19.13tar:备份档案 600
19.13.1备份档案(-c) 600
19.13.2恢复档案(-x) 601
19.13.3显示档案(-t) 602
19.13.4其他选项 602
19.14用rpm安装程式 603
19.14.1安装和升级包 603
19.14.2删除包 604
19.14.3查询包 604
19.15小结 606
19.16自测题 607
19.17习题 607
附录ACshell——程式设计构造 609
附录BKorn和Bashshell
——独有的程式设计构造 617
附录CGNUemacs编辑器 625
附录Dvi/vim命令参考 653
附录E正则表达式超集 661
附录F常用操作指南 665
附录GASCII字元集 671
附录H术语表 677
附录I自测题解答 695