UNIXLinux应用、编程与系统管理(第3版)txt,chm,pdf,epub,mobi下载 作者:(美)达斯(Das, S.) 著 出版社: 清华大学出版社 原作名: (美)达斯(Das, S.) 著 译者:贾洪峰/李莉 出版年: 2014-4-1 页数: 740 定价: 99 装帧: 平装 ISBN: 9787302355847 内容简介 · · · · · ·UNIX是计算机发展历史上最成功的操作系统家族。它诞生于贝尔实验室,尔后迅速成为世界上操作系统的主流并延续至今。Linux派生于UNIX,并且在小型机和桌面计算机领域成为和微软的Windows并驾齐驱的操作系统家族。 《UNIX/Linux应用、编程与系统管理(第3版)》兼顾用户和程序员的思路来编写,是终极的UNIX/Linux教材。本书既有教学工具又有详尽的参考资料,非常适合于任何UNIX或Linux相关课程。与类似教材不同的是,本书设置了一个强大的教学框架,能够使入门级的学生牢固地掌握基本概念,而高级主题章节能激发更有经验的读者超越基础知识。书中提供了近千道练习和自测题,用于让学生测试和巩固他们对知识的理解。 作者简介 · · · · · ·Sumitabha Das,获电子工程学位。他在国防部任职时开始对UNIX感兴趣并深入该领域研究。Sumitabha在UNIX实际应用方面积累了丰富的经验,对UNIX有着独到的见解。目前,他致力于讲授UNIX系统和系统开发课程。 目录 · · · · · ·目 录第I 部分 UNIX之用户篇 第1章 UNIX简介 3 1.1 操作系统 4 1.2 UNIX操作系统 5 · · · · · ·() 目 录 第I 部分 UNIX之用户篇 第1章 UNIX简介 3 1.1 操作系统 4 1.2 UNIX操作系统 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.7 UNIX的成功之路 14 1.7.1 伯克利:第二学派 14 1.7.2 UNIX的分化 15 1.7.3 互联网 15 1.7.4 Windows的威胁 15 1.8 POSIX和单一UNIX规范 16 1.9 Linux和GNU 16 1.10 UNIX体系结构 17 1.10.1 分工:Kernel和shell 17 1.10.2 文件和进程 18 1.10.3 系统调用 19 1.11 UNIX的功能 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.1 PATH:定位命令 26 2.1.2 命令的存放位置 27 2.2 命令结构 28 2.3 命令应用的灵活性 30 2.4 man:联机帮助 31 2.4.1 导航与查找 33 2.4.2 用man -k和man -f 获取更多帮助 33 2.5 man文档 33 2.5.1 了解man页 34 2.5.2 用man来理解man 35 2.6 echo:显示消息 37 2.7 printf:echo的替代命令 39 2.8 script:记录会话 39 2.9 以mailx命令使用电子邮件 40 2.9.1 发送邮件 40 2.9.2 接收邮件 41 2.9.3 mailx内部命令 42 2.10 passwd:改变密码 43 2.11 uname:显示计算机名和 操作系统 44 2.12 who:了解用户 45 2.13 date:显示系统日期 45 2.14 stty:在出错时 46 2.15 X Window系统 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.4 UNIX文件系统 59 3.5 随命令一起使用绝对路径名 60 3.6 HOME变量和~:主目录 61 3.7 pwd和cd:在文件系统中 导航 61 3.8 相对路径名(.和..) 63 3.9 mkdir:创建目录 64 3.10 rmdir:删除目录 65 3.11 ls:列出文件 66 3.12 cp:复制文件 69 3.13 mv:重命名文件 70 3.14 rm:删除文件 71 3.15 cat:显示和串联文件 73 3.16 more:UNIX分页器 74 3.17 pico:基本文本编辑 76 3.17.1 导航 77 3.17.2 文本编辑 77 3.18 wc:计算行数、字数和 字符数 77 3.19 lp:打印文件 78 3.20 od:查看不可打印字符 80 3.21 dos2unix、unix2dos和 Tofrodos:在DOS和 UNIX之间转换 80 3.22 tar:存档程序 81 3.23 gzip:压缩程序 82 3.24 zip:压缩和存档程序 84 3.25 使用这些命令的其他方式 85 3.26 小结 85 3.27 自测题 86 3.28 习题 86 第4章 文件属性 89 4.1 重温ls(-l):列出文件属性 89 4.2 文件权限 91 4.3 chmod:改变文件权限 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.5 umask:默认的文件与 目录权限 98 4.6 文件系统和inode 99 4.7 ln:创建硬链接 101 4.8 再论ln:创建符号链接 103 4.9 文件所有权 105 4.9.1 chown:改变文件所有权 106 4.9.2 chgrp:改变用户组 所有者 106 4.9.3 如何处理入侵者 107 4.10 修改时间与访问时间 108 4.11 find:定位文件 108 4.11.1 选择准则 110 4.11.2 find操作符(!,-o和-a) 112 4.11.3 操作部分的操作符 112 4.12 小结 113 4.13 自测题 113 4.14 习题 114 第5章 vi/vim编辑器 117 5.1 vi基础 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.1 4个方向上的相对 移动(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.15 set:定制vi 144 5.16 map:映射键盘的按键 146 5.17 abbr:文本输入的缩写 147 5.18 小结 147 5.19 自测题 148 5.20 习题 149 第6章 shell 151 6.1 作为命令处理器的shell 152 6.2 shell提供的功能 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.9 tee:创建一个T型三通 170 6.10 命令替换 171 6.11 shell变量 172 6.11.1 引用和转义的影响 173 6.11.2 使用shell变量的场合 174 6.12 shell脚本 175 6.13 shell对命令行的处理 175 6.14 有关通配符的更多信息 176 6.15 xargs:构建动态命令行 177 6.16 小结 177 6.17 自测题 178 6.18 习题 179 第7章 进程 181 7.1 进程基础 182 7.2 shell和init 182 7.3 ps:显示进程属性 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.2 nohup:安全注销 194 7.11 作业控制 195 7.12 at和batch:推后执行 198 7.12.1 at:一次执行 198 7.12.2 batch:在批队列中 执行作业 199 7.12.3 限制at和batch的使用 199 7.13 cron和crontab:定期 运行作业 199 7.14 小结 202 7.15 自测题 203 7.16 习题 203 第8章 shell—定制环境 205 8.1 shell 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.2 rc文件 221 8.10 C shell 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.1 pr:对文件进行编页 232 9.2 对比文件 233 9.3 cmp:逐字节对比 234 9.4 comm:哪些共同内容 235 9.5 diff:将一个文件转换为 另一文件 236 9.6 head:显示一个文件的开头 236 9.7 tail:显示文件的末尾 237 9.8 cut:垂直划分文件 238 9.9 paste:粘贴文件 240 9.10 sort:对文件进行排序 240 9.11 uniq:定位重复行和 非重复行 244 9.12 tr:变换字符 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.2 grep:查找模式 256 10.2.1 grep中的引用 257 10.2.2 grep失败的场合 258 10.3 grep选项 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.6 sed:流编辑器 267 10.7 行寻址 269 10.8 sed选项 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.1 TCP/IP基础知识 286 11.2 解析主机名和IP地址 287 11.2.1 /etc/hosts:主机文件 287 11.2.2 域名系统(DNS) 288 11.3 客户端-服务器:网络 应用程序如何通信 290 11.4 ping:检查网络 291 11.5 telnet:远程登录 292 11.6 ftp:文件传输协议 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.8 SSH:安全shell 297 11.8.1 主机验证 297 11.8.2 rhosts/shosts验证机制 298 11.8.3 采用对称算法的 用户验证 298 11.8.4 使用SSH代理进行 非交互式登录 300 11.9 SSH协议 301 11.9.1 远程登录与执行 命令(ssh和slogin) 301 11.9.2 用sftp和scp进行 文件传输 302 11.10 互联网邮件 303 11.11 MIME:处理邮件中的 二进制附件 305 11.12 在TCP/IP网络上 使用X Window 306 11.12.1 显示器 306 11.12.2 使用DISPLAY变量 307 11.12.3 使用-display选项 307 11.13 HTTP和万维网 307 11.13.1 统一资源定位符 (URL) 308 11.13.2 HTTP:Web的协议 309 11.13.3 运行外部程序 309 11.13.4 HTML:网页的语言 310 11.13.5 Web浏览器 311 11.14 Web上的多媒体:重温 MIME 311 11.15 小结 312 11.16 自测题 313 11.17 习题 314 第II部分 UNIX之程序员篇 第12章 用awk进行过滤和 程序设计 317 12.1 awk预备知识 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.7 BEGIN和END节 328 12.8 位置参数 329 12.9 数组 329 12.9.1 关联(哈希)数组 330 12.9.2 ENVIRON[ ]:环境 数组 331 12.10 内置变量 331 12.11 函数 333 12.12 控制流——if语句 335 12.13 for循环 336 12.14 while循环 338 12.15 结论 339 12.16 小结 340 12.17 自测题 340 12.18 习题 341 第13章 shell程序设计 345 13.1 shell脚本 346 13.1.1 script.sh:一个 简单脚本 346 13.1.2 She-Bang行 347 13.2 read:使脚本变为 交互式的 348 13.3 使用命令行参数 348 13.4 exit和$?:命令的 退出状态 350 13.5 逻辑运算符&&和|| ——条件执行 351 13.6 if条件句 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.9 case条件句 359 13.10 expr、bc和basename: 计算与字符串处理 361 13.10.1 用expr进行计算 362 13.10.2 用bc进行浮点计算 362 13.10.3 用expr处理字符串 363 13.10.4 basename:改变 文件名扩展 364 13.11 示例程序1:自动选择 上一个C程序 365 13.12 for:用列表进行循环 366 13.12.1 列表的来源 366 13.12.2 使用for的重要应用 367 13.13 while:循环 367 13.13.1 在循环中处理重定向 368 13.13.2 使用while等待文件 369 13.13.3 找出用户占用的空间 370 13.13.4 break和continue 371 13.14 示例脚本2:向备份文件 提供数字扩展名 371 13.15 用set和shift处理 位置参数 373 13.15.1 按名称杀死进程 374 13.15.2 shift:左移位置参数 374 13.15.3 IFS变量:set的 默认分隔符 375 13.16 示例脚本3:已下载 文件的目录 376 13.17 Here文档(<<) 378 13.18 shell函数 379 13.19 trap:脚本如何处理信号 380 13.20 eval:两次求值 381 13.21 exec语句 382 13.22 小结 382 13.23 自测题 383 13.24 习题 384 第14章 perl——高级操纵器 387 14.1 perl预备知识 388 14.2 变量和常数 389 14.3 运算符 391 14.3.1 比较与逻辑运算符 391 14.3.2 串联运算符和重复 运算符(.和x) 392 14.4 标准条件句与循环 392 14.4.1 if条件句 393 14.4.2 while、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.10 foreach:循环遍历 一个列表 401 14.11 两个重要的列表函数 402 14.11.1 split:分割到列表或 数组中 402 14.11.2 join:联接列表 404 14.12 dec2bin.pl:将十进制数 变换为二进制 404 14.13 关联数组 405 14.14 使用正则表达式 407 14.14.1 识别空白、数位和单词 407 14.14.2 IRE的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.2 GET和POST: 请求方法 415 14.20 小结 415 14.21 自测题 416 14.22 习题 417 第15章 C语言简介 421 15.1 C语言 422 15.2 first_prog.c:理解我们的第一个C程序 423 15.2.1 预处理器部分 424 15.2.2 主体 424 15.2.3 main:独一无二的函数 425 15.3 printf和scanf:两个重要函数 426 15.3.1 printf:打印到终端 426 15.3.2 scanf:由键盘输入 427 15.4 变量和常数 427 15.5 基本数据类型 428 15.5.1 整型 428 15.5.2 浮点类型 429 15.5.3 字符类型 430 15.6 sizeof.c:确定基本数据 类型的大小 431 15.7 符号常量:有名称的常量 432 15.8 数组 432 15.9 arrays.c:打印数组元素 433 15.10 结构 434 15.11 运算符和表达式 435 15.11.1 位运算符 436 15.11.2 自动变换 436 15.11.3 隐式变换 437 15.12 type_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.3 break和continue 443 15.15 函数 444 15.16 first_func.c:两个参数和 返回值 445 15.17 函数实参、形参和局部 变量 446 15.17.1 按值传递 447 15.17.2 swap_failure.c:形参与局部变量的可见性 448 15.17.3 以数组为函数实参 449 15.17.4 以结构作为函数实参 450 15.18 指针 450 15.19 pointers.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.2 make:使程序保持最新 468 16.2.1 删除冗余 470 16.2.2 make的其他功能:清理与备份 470 16.2.3 宏 471 16.3 ar:生成库(档案) 472 16.3.1 使用库 473 16.3.2 用make维护档案 474 16.4 静态库和共享库 474 16.5 用SCCS、RCS和CVS 实现版本控制 475 16.6 SCCS会话 476 16.6.1 admin:创建一个SCCS文件 477 16.6.2 get:签出 477 16.6.3 delta:签入 478 16.6.4 unget:如果改变主意 480 16.7 活动与历史信息 481 16.7.1 sact:显示活动状态 481 16.7.2 prs:显示SCCS历史 481 16.8 继续以SCCS编辑 482 16.8.1 get -r:改变默认的 编号顺序 482 16.8.2 处理多个版本 483 16.8.3 rmdel和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.2 co和ci:签出和签入 488 16.10.3 指定修订 489 16.10.4 rlog和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.6 gdb的其他功能 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.2 errno和perror:处理错误 511 17.3 open:打开和创建文件 513 17.4 close:关闭文件 515 17.5 read:读取文件 516 17.6 write:写文件 516 17.7 ccp.c:复制文件 517 17.8 lseek:定位偏移指针 519 17.9 truncate和ftruncate:截短文件 521 17.10 umask:在创建期间修改文件权限 522 17.11 目录导航 523 17.12 读取目录 524 17.13 修改目录中的项目 526 17.13.1 mkdir和rmdir:创建和删除目录 526 17.13.2 link和symlink:创建硬链接和符号链接 526 17.13.3 unlink:删除链接 527 17.13.4 rename:对文件、目录或符号链接重命名 527 17.14 读取Inode:struct stat和stat 528 17.14.1 attributes.c:显示一些文件属性 529 17.14.2 S_IFMT:处理st_mode成员 530 17.14.3 用S_ISxxx宏确定文件类型 530 17.14.4 访问权限位 531 17.14.5 lsdir.c:仅列出目录 531 17.15 access:检查实际用户的权限 533 17.16 修改文件属性 534 17.16.1 chmod和fchmod: 改变文件权限 535 17.16.2 chown:改变所有权 535 17.16.3 utime:改变时间戳记 536 17.16.4 atimemtime.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.3 fork:复制当前进程 545 18.4 exec:进程创建的最终 步骤 547 18.4.1 execl和execv:关键 成员 548 18.4.2 其他exec成员 549 18.5 收集退出状态 550 18.5.1 wait:当父进程等待时 550 18.5.2 waitpid:一种功能更 强大的等待机制 551 18.6 fork_exec_wait.c:使用 全部三个调用 552 18.7 文件共享 553 18.7.1 文件说明符表 554 18.7.2 文件表 554 18.7.3 vnode表 555 18.7.4 当链接发生变化时 555 18.8 文件说明符处理 556 18.8.1 dup和dup2:复制文件说明符 556 18.8.2 redirection.c:最后讨论重定向 557 18.8.3 fcntl:对其推荐程度高于dup和dup2 559 18.9 信号处理 559 18.10 sigaction:安装信号处理器 561 18.10.1 signal.c:捕获SIGALRM信号 563 18.10.2 捕获终端生成的信号 564 18.11 killprocess.c:使用fork-exec-wait和SIGCHLD 565 18.12 用未命名管道实现进程间通信 567 18.12.1 和fork一起使用pipe 568 18.12.2 pipe2.c:在管道中运行UNIX命令 569 18.13 小结 570 18.14 自测题 571 18.15 习题 572 第III部分 系 统 管 理 第19章 系统管理 577 19.1 root:系统管理员的登录 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.2 Set-User-Id(SUID):临时能力 584 19.4.3 粘着位 585 19.5 启动与关机 585 19.5.1 启动 585 19.5.2 关机 586 19.6 init如何控制系统 587 19.6.1 init如何创建shell 588 19.6.2 rc脚本 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.1 mount:加载文件系统 593 19.9.2 umount:卸载文件系统 594 19.10 fsck:文件系统检查 595 19.11 管理磁盘空间 596 19.11.1 df:报告空闲空间 596 19.11.2 du:磁盘利用率 596 19.11.3 find回顾:管理员的工具 597 19.12 处理软盘 597 19.12.1 format和fdformat:格式化磁盘 598 19.12.2 dd:复制磁盘 598 19.12.3 处理DOS磁盘 598 19.13 tar:备份文件 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 附录A C shell——程序设计构造 609 附录B Korn和Bash shell ——独有的程序设计构造 617 附录C GNU emacs编辑器 625 附录D vi/vim命令参考 653 附录E 正则表达式超集 661 附录F 常用操作指南 665 附录G ASCII字符集 671 附录H 术语表 677 附录I 自测题解答 695 · · · · · · () |
不同的观点!
值得一看。挺有意思的。
期待内容,好想赶紧开始看
令我大开眼界