|
读过这本书吗?
最近在读
读过
想读
还不熟悉
|
图书城书列:
加入到博客或社交网站:
|
|
我来评论这本书:
内容提要:
本书是一本很好的UNIX基础教材。作者深入浅出地剖析了UNIX操作系统的各个方面,系统地向读者介绍了UNIX的用户接口,介绍了系统内部的工作情况等。本书从UNIX系统最基本的操作开始,依次阐述了 UNIX shell操作、文本文件编辑、收发电子邮件、UNIX文件与文件系统的操作、输入输出管理、进程管理、网络管理以及常用shell的编程等。书后的附录详尽介绍了UNIX的终端命令及命令参数和选项,精心设计的章内练习和章末问题有助于读者及时巩固新的命令、原语和概念。本书适合作计算机专业本科生教材。
目录:
第1章 操作系统概述 1
1.1 导言 1 1.2 什么是操作系统 1 1.3 操作系统功能 2 1.4 字符与图形用户界面 2 1.5 操作系统的分类 3 1.6 UNIX产品系列 3 小结 3 问题 4 第2章 UNIX操作系统简史 5 2.1 导言 5 2.2 UNIX操作系统的发展历史 5 2.2.1 开端 5 2.2.2 操作系统研究 6 2.2.3 AT&T System V 6 2.2.4 Berkeley软件发布版本 6 2.2.5 shell的历史 6 2.2.6 当前与未来的发展―Linux 7 2.3 UNIX系统的变种 7 小结 7 问题 7 第3章 UNIX起步 9 3.1 导言 9 3.2 计算机系统硬件 9 3.2.1 主存 9 3.2.2 中央处理单元 10 3.2.3 磁盘 10 3.2.4 总线 10 3.2.5 输入/输出设备 11 3.3 UNIX软件体系结构 11 3.3.1 设备驱动程序层 11 3.3.2 UNIX内核 11 3.3.3 系统调用接口 12 3.3.4 语言库 12 3.3.5 UNIX shell 12 3.3.6 应用程序 13 3.4 登录与注销 13 3.5 纠正错误 15 3.6 一些重要的系统设置 15 3.7 初学者常用命令 16 3.7.1 更改口令 17 3.7.2 获得帮助 17 3.7.3 查看自己的账号与UNIX系统名称 19 小结 20 问题 20 第4章 UNIX shell 23 4.1 导言 23 4.2 多种UNIX shell 24 4.2.1 shell程序 24 4.2.2 哪种shell适合你 25 4.2.3 改变shell的方法 25 4.2.4 shell启动文件与环境变量 26 4.3 其他常用命令 27 4.3.1 创建与显示目录 27 4.3.2 显示文件 28 4.3.3 打印文件 28 4.3.4 显示日历 28 4.3.5 单向实时消息传送 28 4.3.6 电子通信的通知和许可 29 4.3.7 命令伪名的生成 29 4.3.8 显示系统正常运行时间 31 4.4 shell元字符 31 小结 32 问题 33 第5章 编辑文本文件 35 5.1 导言 35 5.2 如何使用pico编辑器进行简单的编辑 工作 36 5.2.1 使用pico文本编辑器创建电子邮件 文本 36 5.2.2 如何开始、保存及退出文件 36 5.2.3 常用键盘命令与光标控制 38 5.2.4 剪切、粘贴与查找 39 5.3 使用vi编辑器获取更多控制 39 5.3.1 shell脚本文件 40 5.3.2 如何开始、保存并退出一个文件 41 5.3.3 vi命令格式及操作模式 42 5.3.4 光标移动与编辑命令 44 5.3.5 拖放(复制与粘贴)和交换(查找 与替换) 45 5.3.6 设置vi环境 47 5.3.7 在vi中执行shell命令 47 5.4 使用emacs编辑器获得最大的控制 47 5.4.1 DOS别名 48 5.4.2 如何开始、保存并退出一个文件 48 5.4.3 光标移动与编辑命令 49 5.4.4 键盘宏 51 5.4.5 剪切、复制、粘贴、查找与替换 51 5.5 怎样使用emacs和X Window系统实现 图形化编辑 53 5.5.1 编辑数据文件 54 5.5.2 如何开始、保存并退出一个文件 55 5.5.3 X Window emacs菜单 56 小结 56 问题 56 第6章 电子邮件 59 6.1 导言 59 6.2 怎样有效地使用UNIX的mail命令 60 6.2.1 使用UNIX的mail命令发送和阅读 电子邮件 61 6.2.2 用mail发送电子邮件 61 6.2.3 用mail阅读电子邮件 63 6.2.4 在文件夹内保存消息 64 6.2.5 回复和转发邮件(包括附件) 65 6.2.6 mail别名 66 6.3 elm:一个全屏幕显示的电子邮件系统 66 6.3.1 用elm发送消息 66 6.3.2 用elm发送电子邮件 67 6.3.3 用elm阅读电子邮件 69 6.3.4 用elm转发和回复电子邮件 70 6.3.5 在文件夹内保存消息 71 6.3.6 elm别名 71 6.4 pine:另一个全屏幕显示的电子邮件 系统 72 6.4.1 用pine发送附有用vi创建的附件的 电子邮件消息 72 6.4.2 用pine发送电子邮件 74 6.4.3 用pine阅读电子邮件 75 6.4.4 用pine处理文件夹中的电子邮件 76 6.4.5 使用pine地址簿 77 6.4.6 pine命令小结 79 小结 80 问题 80 第7章 文件与文件系统结构 83 7.1 导言 83 7.2 UNIX文件概念 83 7.3 文件类型 83 7.3.1 简单/普通文件 83 7.3.2 目录 84 7.3.3 链接文件 84 7.3.4 特殊文件(设备文件) 85 7.3.5 命名管道(FIFO) 85 7.4 文件系统结构 85 7.4.1 文件系统组织 85 7.4.2 起始目录与当前工作目录 85 7.4.3 绝对路径名与相对路径名 86 7.4.4 一些标准目录与文件 86 7.5 文件结构导航 88 7.5.1 决定起始目录的绝对路径名 88 7.5.2 浏览文件系统 89 7.5.3 创建文件 91 7.5.4 创建和删除目录 91 7.5.5 决定文件属性 92 7.5.6 决定文件内容的类型 94 7.6 UNIX中文件的表示与存储 94 7.7 标准文件与文件描述符 96 7.8 文件结束记号 97 小结 97 问题 98 第8章 文件安全性 101 8.1 导言 101 8.2 基于口令的保护 101 8.3 基于加密的保护 102 8.4 基于访问权限的保护 102 8.4.1 用户的类型 102 8.4.2 文件操作/访问权限的类型 103 8.5 决定与更改文件访问权 103 8.5.1 决定文件访问权 104 8.5.2 更改文件访问权 105 8.5.3 默认文件访问权 108 8.6 特殊访问位 109 8.6.1 设置用户ID(SUID)位 109 8.6.2 设置组ID(SGID)位 110 8.6.3 粘住位 110 小结 111 问题 112 第9章 基本文件处理 115 9.1 导言 115 9.2 查看文本文件的内容 115 9.2.1 查看完整的文件 115 9.2.2 一次查看一页文件 117 9.2.3 查看文件的头尾部分 118 9.3 复制、移动和删除文件 120 9.3.1 复制文件 120 9.3.2 移动文件 122 9.3.3 删除文件 123 9.3.4 决定文件大小 125 9.4 添加文件 126 9.5 合并文件 127 9.6 比较文件 129 9.7 删除重复的行 131 9.8 打印文件与控制打印作业 133 9.8.1 UNIX文件打印机制 133 9.8.2 打印文件 133 9.8.3 确定打印请求的状态 135 9.8.4 取消打印作业 136 小结 137 问题 138 第10章 高级文件处理 139 10.1 导言 139 10.2 正则表达式 139 10.3 文件压缩 141 10.4 文件排序 143 10.5 命令与文件的查找 145 10.6 查找文件 148 10.7 剪切与粘贴 151 10.8 编码与解码 154 10.9 文件加密与解密 156 小结 158 问题 159 第11章 文件共享 161 11.1 导言 161 11.2 复制共享文件 161 11.3 小组成员的共同登录 161 11.4 为共享文件设置适当的访问权限 162 11.5 小组成员的共同组 162 11.6 通过链接实现文件共享 162 11.6.1 硬链接 162 11.6.2 硬链接的缺点 167 11.6.3 软/符号链接 169 11.6.4 符号链接的优点和缺点 172 小结 172 问题 173 第12章 重定向与管道 175 12.1 导言 175 12.2 标准文件 175 12.3 输入重定向 176 12.4 输出重定向 176 12.5 合并输入输出重定向 177 12.6 带文件描述符的输入/输出重定向 178 12.7 标准错误重定向 179 12.8 在一个命令中重定向标准输出与标准 错误 179 12.9 在一个命令中重定向标准输入、标准 输出与标准错误 181 12.10 不覆盖文件内容的重定向(添加) 182 12.11 UNIX管道 183 12.12 重定向与管道结合使用 186 12.13 C shell中的错误重定向 187 12.14 输入输出和错误重定向的归纳总结 189 小结 190 问题 191 第13章 进程 193 13.1 导言 193 13.2 同时运行多个进程 193 13.3 UNIX进程状态 194 13.4 shell命令的执行 195 13.5 进程属性 197 13.6 进程与作业控制 200 13.6.1 前台进程与后台进程以及相关 命令 200 13.6.2 UNIX守护进程 204 13.6.3 命令的顺序执行与并行执行 204 13.6.4 命令与进程的异常终止 207 13.7 UNIX的进程等级 209 小结 210 问题 210 第14章 网络和互联网 213 14.1 导言 213 14.2 计算机网络与互联网 213 14.3 使用计算机网络与互联网的原因 214 14.4 网络模型 214 14.5 TCP/IP协议族 215 14.5.1 TCP和UDP 215 14.5.2 应用数据的路由―Internet 协议 216 14.5.3 IPv4地址的点分十进制表示法 217 14.5.4 符号名称 217 14.5.5 从名称到IP地址的转换―域名 系统 219 14.6 Internet服务和协议 220 14.7 客户-服务器软件模型 220 14.8 应用软件 221 14.8.1 显示主机名 221 14.8.2 显示网络上正在使用主机的用户 信息列表 221 14.8.3 显示网络上主机的状态 223 14.8.4 测试网络连接 223 14.8.5 显示用户信息 224 14.8.6 远程登录 227 14.8.7 执行远程命令 231 14.8.8 文件传输 233 14.8.9 远程复制 235 14.8.10 交互式聊天 237 14.8.11 跟踪站点间的路由 238 小结 238 问题 239 第15章 Bourne shell编程初步 241 15.1 导言 241 15.2 运行Bourne shell脚本 241 15.3 shell变量与相关命令 242 15.3.1 读写shell变量 244 15.3.2 命令替换 246 15.3.3 导出环境 246 15.3.4 变量重置 248 15.3.5 创建用户自定义的只读变量 248 15.3.6 从标准输入读 249 15.4 向shell脚本传递参数 251 15.5 注释与程序头 253 15.6 程序控制流命令 254 15.6.1 if-then-elif-else-fi语句 254 15.6.2 for语句 260 15.6.3 while语句 261 15.6.4 until语句 263 15.6.5 break和continue命令 264 15.6.6 case语句 264 小结 267 问题 268 第16章 高级Bourne shell编程 271 16.1 导言 271 16.2 数值型数据的处理 271 16.3 here文档 276 16.4 中断(信号)处理 278 16.5 exec命令与文件输入输出 281 16.5.1 不创建新的进程执行命令 281 16.5.2 使用exec命令进行文件输入输出 283 16.6 Bourne shell函数 288 16.6.1 使用函数的原因 288 16.6.2 函数定义 288 16.6.3 函数调用 289 16.6.4 函数举例 289 16.7 调试shell程序 291 小结 292 问题 292 第17章 C shell编程初步 295 17.1 导言 295 17.2 运行C shell脚本 295 17.3 shell变量与相关命令 296 17.3.1 读写shell变量 299 17.3.2 命令替换 300 17.3.3 导出环境 301 17.3.4 变量重置 302 17.3.5 从标准输入读 303 17.4 向shell脚本传递参数 304 17.5 注释与程序头 306 17.6 程序控制流命令 307 17.6.1 if-then-else-endif语句 307 17.6.2 foreach语句 313 17.6.3 while语句 314 17.6.4 break、continue和goto语句 315 17.6.5 switch语句 316 小结 318 问题 319 第18章 高级C shell编程 321 18.1 导言 321 18.2 数值型数据处理 321 18.3 数组处理 322 18.4 here文档 326 18.5 中断(信号)处理 328 18.6 调试shell程序 331 小结 332 问题 332 第19章 文件系统备份 335 19.1 导言 335 19.2 使用tar归档和恢复文件 335 19.2.1 文件归档 336 19.2.2 恢复归档文件 339 19.2.3 复制目录层次 341 19.3 以tar格式发布软件 342 小结 342 问题 342 第20章 UNIX软件开发工具 343 20.1 导言 343 20.2 计算机编程语言 343 20.3 编译过程 344 20.4 软件工程生命周期 345 20.5 程序生成工具 345 20.5.1 生成C源文件 345 20.5.2 缩排C源代码 345 20.5.3 编译C程序 347 20.5.4 处理基于模块的C软件 350 20.5.5 建立库中的目标文件 357 20.5.6 使用库 360 20.5.7 版本控制 362 20.6 静态分析工具 388 20.6.1 验证代码的可移植性 389 20.6.2 源代码度量分析 392 20.7 动态分析工具 393 20.7.1 跟踪程序执行 393 20.7.2 源代码调试 394 20.7.3 运行时性能 404 小结 405 问题 405 第21章 X Window系统―UNIX图形 用户界面 409 21.1 导言 409 21.2 人机交互和X Window系统 409 21.3 用户界面中窗口管理器的角色和fvwm 411 21.3.1 窗口管理器界面的功能和外观 411 21.3.2 fvwm的外观与操作 412 21.4 定制X Window系统与fvwm 414 21.4.1 在命令行修改X Window系统的 应用程序 414 21.4.2 修改.Xdefaults和.xinitrc初始文件 中的优先设置 416 21.4.3 定制fvwm窗口管理器时对.fvwmrc 的典型修改 417 小结 419 问题 420 附录 命令 |