注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合UNIX和shell程序设计权威教程

UNIX和shell程序设计权威教程

UNIX和shell程序设计权威教程

定 价:¥98.00

作 者: (美)Behroua A.Forouzan,(美)Richard F.Gilberg著;彭松虎译;彭松虎译
出版社: 清华大学出版社
丛编项: 国外计算机科学经典教材
标 签: UNIX

ISBN: 9787302061434 出版时间: 2003-01-01 包装: 平装
开本: 26cm 页数: 832 字数:  

内容简介

  本书介绍了UNIX操作系统和shell编程两个部分的知识。前一部分全面讲解了UNIX操作系统,包括UNIX操作系统、vi和ex编辑器、文件系统与文件操作权限、以及各种UNIX实用程序;后一部分深入介绍了各种类型的UNIXshell编程,涵盖了Kornshell、Cshell等主要的shell类型。本书采用可视化讲解方法,全书包含大量的图、表、代码清单、脚本和代码示例,可有效帮助读者理解所介绍的内容;各章章末还配备了相应的复习题、练习题和上机实习等资料,以帮助读者巩固所学的知识。本书内容生动,脉络清晰,适于用作高等院校UNIX课程教材,也适于UNIX自学人员和从事UNIXshell编程的读者阅读。本书特色提挈:·内容安排循序渐进,从讲解UNIX基础知识入手逐步过渡到介绍脚本的编写方法·借助大量的实例和图形,用简单、直观的方式来讲解复杂的知识·教师可在线获得一套完整的图形及各种主题排列方式的详细大纲

作者简介

暂缺《UNIX和shell程序设计权威教程》作者简介

图书目录

第1章 UNIX简介
1.1 UNIX的特性
1.1.1 可移植性
1.1.2 多用户
1.1.3 多任务
1.1.4 网络技术
1.1.5 有组织的文件系统
1.1.6 设备无关性
1.1.7 实用程序
1.1.8 服务
1.2 计算机系统
1.2.1 硬件
1.2.2 软件
1.2.3 操作系统
1.3 UNIX环境
1.3.1 个人环境
1.3.2 分时环境
1.3.3 客户机/服务器环境
1.4 UNIX结构
1.4.1 内核
1.4.2 shell
1.4.3 实用程序
1.4.4 应用程序
1.5 访问UNIX
1.5.1 用户ID
1.5.2 密码
1.5.3 交互式会话
1.6 命令
1.7 常见命令
1.7.1 日期和时间命令(date)
1.7.2 日历命令(cal)
1.7.3 谁在线命令(who)
1.7.4 whoami命令
1.7.5 修改密码命令(passwd)
1.7.6 显示消息命令(echo)
1.7.7 在线文档命令(man)
1.7.8 打印命令(lpr)
1.8 其他的有用命令
1.8.1 终端命令(tty)
1.8.2 清屏命令(clear)
1.8.3 终端设置命令(stty)
1.8.4 记录会话命令(script)
1.8.5 系统名称命令(uname)
1.8.6 计算器命令(bc)
1.9 关键术语
1.10 提示
1.11 命令
1.12 小结
1.13 练习
1.13.1 复习题
1.13.2 练习题
1.14 上机实习
第2章 vi编辑器基础
2.1 编辑器概念
2.1.1 行编辑器
2.1.2 屏幕编辑器
2.2 vi编辑器
2.3 模式
2.3.1 命令模式
2.3.2 文本模式
2.3.3 变更模式
2.4 命令
2.4.1 添加命令
2.4.2 光标移动命令
2.4.3 删除命令
2.4.4 合并命令
2.4.5 滚动命令
2.4.6 撤消命令
2.4.7 保存和退出命令
2.5 两个实验
2.6 关键术语
2.7 提示
2.8 命令
2.9 小结
2.10 练习
2.10.1 复习题
2.10.2 练习题
2.11 上机实习
第3章 文件系统
3.1 文件名
3.2 文件类型
3.3 常规文件
3.3.1 文本文件
3.3.2 二进制文件
3.4 目录
3.4.1 特殊目录
3.4.2 路径与路径名
3.4.3 相对路径名缩写
3.5 文件系统实现
3.5.1 文件系统
3.5.2 目录内容
3.5.3 链接
3.6 目录特有的操作
3.6.1 定位目录命令(pwd)
3.6.2 目录列表命令(ls)
3.6.3 目录创建命令(mkdir)
3.6.4 改变目录命令(cd)
3.6.5 目录删除命令(rmdir)
3.7 常规文件特有的操作
3.7.1 创建文件
3.7.2 编辑文件
3.7.3 文件显示命令(more)
3.7.4 打印文件
3.8 目录和文件的共有操作
3.8.1 复制命令(cp)
3.8.2 移动命令(mv)
3.8.3 重命名命令(mv)
3.8.4 链接命令(ln)
3.8.5 删除命令(rm)
3.9 术语
3.10 提示
3.11 命令
3.12 小结
3.13 练习
3.13.1 复习题
3.13.2 练习题
3.14 上机实习
第4章 安全性与文件权限
4.1 用户与用户组
4.2 安全性等级
4.2.1 系统安全性
4.2.2 权限码
4.2.3 权限检查
4.3 修改权限
4.3.1 符号代码
4.3.2 八进制代码
4.3.3 选项
4.4 用户掩码
4.4.1 基本概念
4.4.2 用户掩码命令(umask)
4.5 改变拥有者和用户组
4.5.1 改变拥有者命令(chown)
4.5.1 改变用户组命令(Chgrp)
4.6 术语
4.7 命令
4.8 提示
4.9 小结
4.10 练习
4.10.1 复习题
4.10.2 练习题
4.11 上机实习
第5章 Shell简介
5.1 UNIX会话
5.1.1 登录shell验证
5.1.2 当前shell验证
5.1.3 shell关系
5.1.4 退出系统
5.2 标准流
5.3 重定向
5.3.1 输入重定向
5.3.2 输出重定向
5.3.3 错误重定向
5.4 管道
5.5 tee命令
5.6 命令执订
5.6.1 顺序命令
5.6.2 分组命令
5.6.3 链式命令
5.6.4 条件命令
5.7 命令行编辑
5.7.1 命令行编辑概念
5.7.2 编辑器选择
5.7.3 行编辑器vi
5.7.4 使用命令行编辑器
5.8 引号
5.8.1 反斜杠
5.8.2 双引号
5.8.3 单引号
5.9 命令替代
5.10 作业控制
5.10.1 作业
5.10.2 前台与后台作业
5.10.3 作业命令
5.10.4 进程ID
5.11 别名
5.11.1 Korn shell和Bash shell中的别名
5.11.2 C shell中的别名
5.11.3 别名小结
5.12 变量
5.12.1 用户定义变量
5.12.2 预定义变量
5.12.3 在变量中保存数据
5.12.4 访问变量
5.13 预定义变量
5.14 选项
5.15 shell/环境定制
5.15.1 暂时定制
5.15.2 永久定制
5.15.3 小结
5.16 关键术语
5.17 提示
5.18 命令
5.19 小结
5.20 练习
5.20.1 复习题
5.20.2 练习题
5.21 上机实习
第6章 过滤器
6.1 过滤器和管道
6.2 连接文件
6.2.1 连接(cat)命令
6.2.2 cat选项
6.3 显示文件的开始和结尾
6.3.1 head命令
6.3.2 tail命令
6.4 Cut和Paste
6.4.1 cut命令
6.4.2 paste命令
6.5 排序
6.5.1 sort命令
6.5.2 按行排序
6.5.3 按字段排序
6.5.4 选项
6.5.5 多途径排序
6.6 转换字符
6.6.1 tr命令
6.6.2 简单转换
6.6.3 不匹配转换字符串
6.6.4 删除字符
6.6.5 压缩输出
6.6.6 求余
6.7 带有重复行的文件
6.7.1 uniq命令
6.7.2 输出格式
6.7.3 忽略前导字段
6.7.4 忽略前导字符
6.8 记数字符、单词或行
6.9 比较文件
6.9.1 比较字节(cmp)命令
6.9.2 比较行(diff)命令
6.9.3 查找相同行(comm)命令
6.10 关键术语
6.11 提示
6.12 命令
6.13 小结
6.14 练习
6.14.1 复习题
6.14.2 练习题
6.15 上机实习
第7章 通信
7.1 用户通信
7.1.1 talk命令
7.1.2 wirte命令
7.2 电子邮件
7.2.1 邮件地址
7.2.2 邮件模式
7.2.3 mail命令
7.2.4 发送邮件
7.2.5 读模式
7.2.6 读邮件选项
7.2.7 邮件文件
7.3 远程访问
7.3.1 telnet概念
7.3.2 连接到远程主机
7.4 文件传输
7.4.1 ftp命令
7.4.2 建立ftp连接
7.4.3 关闭ftp连接
7.4.4 传输文件
7.5 关键术语
7.6 命令
7.7 提示
7.8 小结
7.9 练习
7.9.1 复习题
7.9.2 练习题
7.10 上机实习
第8章 vi和ex
8.1 vi编辑器
8.1.1 命令
8.1.2 命令种类
8.2 vi中的局部命令
8.2.1 插入文本命令(i,I)
8.2.2 附加文本命令(a,A)
8.2.3 换行命令(o,O)
8.2.4 替换文本命令(r,R)
8.2.5 替代文本命令(s,S)
8.2.6 删除字符命令(x,X)
8.2.7 标记文本命令(m)
8.2.8 更改大小写命令(~)
8.2.9 放置命令(p,P)
8.2.10 结合命令(J)
8.3 vi中的范围命令
8.3.1 文本对象
8.3.2 文本对象命令
8.3.3 剪切命令
8.3.4 范围命令小结
8.4 vi中的全局命令
8.4.1 滚动命令
8.4.2 撤消命令
8.4.3 重复命令
8.4.4 屏幕再生命令
8.4.5 显示文档状态行
8.4.6 保存和退出命令
8.5 在vi中重新组织文本
8.5.1 移动文本
8.5.2 复制文本
8.5.3 命名的缓冲区
8.6 ex编辑器
8.6.1 ex指令格式
8.6.2 地址
8.6.3 命令
8.7 关键术语
8.8 提示
8.9 命令
8.10 小结
8.11 练习
8.11.1 复习题
8.11.2 练习题
8.12 上机实习
第9章 正则表达式
9.1 原子
9.1.1 单个字符
9.1.2 点
9.1.3 类
9.1.4 锚
9.1.5 向后引用
9.2 运算符
9.2.1 序列
9.2.2 替换
9.2.3 重复
9.2.4 组运算符
9.2.5 保存
9.3 关键术语
9.4 提示
9.5 小结
9.6 练习
9.6.1 复习题
9.6.2 练习题
第10章 grep
10.1 操作
10.1.1 grep流程图
10.1.2 grep操作示例
10.2 grep家族
10.2.1 grep
10.2.2 快速grep
10.2.3 扩展grep
10.3 示例
10.4 搜索文件内容
10.4.1 搜索一个特定目录
10.4.2 搜索一个路径下所有目录
10.5 关键术语
10.6 提示
10.7 命令
10.8 小结
10.9 练习
10.9.1 复习题
10.9.2 练习题
10.10 上机实习
第11章 sed
11.1 脚本
11.1.1 脚本格式
11.1.2 指令格式
11.1.3 注释
11.2 操作
11.3 地址
11.3.1 单行地址
11.3.2 行集合地址
11.3.3 范围地址
11.3.4 嵌套地址
11.4 命令
11.4.1 行编号命令
11.4.2 修改命令
11.4.3 替代命令(s)
11.4.4 替代标志
11.4.5 转换命令(y)
11.4.6 输入和输出命令
11.4.7 文件命令
11.4.8 分支命令
11.4.9 保留空间命令
11.4.10 退出
11.5 应用
11.5.1 删除行
11.5.2 删除文本
11.6 grep和sed
11.6.1 匹配正则表达式的行
11.6.2 不匹配正则表达式的行
11.7 关键术语
11.8 提示
11.9 命令
11.10 小结
11.11 练习
11.11.1 复习题
11.11.2 练习题
11.12 上机实习
第12章 awk
12.1 执行
12.2 字段和记录
12.2.1 缓冲区和变量
12.2.2 变量
12.3 脚本
12.3.1 初始化处理(BEGIN)
12.3.2 主体处理
12.3.3 结束处理(END)
12.4 操作
12.5 模式
12.5.1 简单模式
12.5.2 无(无模式)
12.5.3 范围模式
12.6 动作
12.6.1 表达式语句
12.6.2 输出语句
12.6.3 判定语句
12.6.4 控制动作
12.6.5 循环
12.7 关联数组
12.7.1 处理数组
12.7.2 删除数组项
12.8 字符串函数
12.8.1 Length
12.8.2 index
12.8.3 子字符串
12.8.4 Split
12.8.5 替代
12.8.6 全局替代
12.8.7 Match
12.8.8 Toupper和Tolower
12.9 数学函数
12.10 用户定义函数
12.11 在awk中使用系统命令
12.11.1 使用管道
12.11.2 使用系统函数
12.12 应用程序
12.12.1 电话列表
12.12.2 统计行和单词
12.12.3 打印空行后面的行
12.12.4 打印空行前面的行
12.12.5 合并文件
12.13 awk和grep
12.13.1 查找与正则表达式匹配的行
12.13.2 查找与正则表达式不匹配的行
12.14 sed和awk
12.14.1 打印行号
12.14.2 修改行
12.14.3 替代
12.14.4 转换
12.14.5 输入/输出
12.14.6 文件
12.14.7 分支
12.14.8 退出
12.15 关键术语
12.16 提示
12.17 命令
12.18 小结
12.19 练习
12.19.1 复习题
12.19.2 练习题
12.20 上机实习
第13章 交互式Korn shell
13.1 Korn shell特征
13.1.1 Korn shell会话
13.1.2 标准流
13.1.3 重定向
13.1.4 管道
13.1.5 tee命令
13.1.6 组合命令
13.1.7 命令行编辑
13.1.8 引号
13.1.9 命令替代
13.1.10 作业控制
13.1.11 别名
13.2 两个特殊文件
13.2.1 垃圾文件(/dev/null)
13.2.2 终端文件(/dev/tty)
13.3 变量
13.3.1 用户定义变量
13.3.2 预定义变量
13.3.3 在变量中存储值
13.3.4 访问变量值
13.3.5 空变量
13.3.6 清除变量
13.3.7 存储文件名称
13.3.8 存储文件内容
13.3.9 在变量中存储命令
13.3.10 只读变量
13.3.11 输出变量
13.3.12 变量属性:typeset命令
13.4 输出
13.5 输入
13.5.1 逐词读
13.5.2 逐行读
13.5.3 从文件中读
13.6 命令的退出状态
13.7 eval命令
13.8 环境变量
13.8.1 改变目录路径(CDPATH)
13.8.2 历史文件路径(HISTFILE)
13.8.3 用户根目录路径(HOME)
13.8.4 登录名(LOGNAME)
13.8.5 邮箱路径名称(MAIL)
13.8.6 邮件检查间隔(MAILCHECK)
13.8.7 收邮件路径(MAILPATH)
13.8.8 目录搜索路径(PATH)
13.8.9 主提示符(PSI)
13.8.10 次提示符(PS2)
13.8.11 第3提示符(PS2)
13.8.12 第4提示符(PS4)
13.8.13 用户输入默认变量(REPLY)
13.8.14 登录shell路径(SHELL)
13.8.15 终端说明(TERM)
13.8.16 处理环境变量
13.9 选项
13.9.1 全部输出(allexport)
13.9.2 命令行编辑器(emacs和vi)
13.9.3 忽略文件结束(ignoreeof)
13.9.4 在重定向中不损坏现有文件
13.9.5 不执行(noexec)
13.9.6 非全局的(noglob)
13.9.7 冗长(verbose)
13.9.8 执行跟踪(xtrace)
13.9.9 处理选项
13.10 启动脚本
13.10.1 系统配置文件
13.10.2 个人配置文件
13.10.3 环境文件
13.10.4 启动过程
13.11 命令历史记录
13.11.1 历史文件
13.11.2 历史命令
13.11.3 重做命令(r)
13.11.4 重做命令中的替换
13.12 命令执行过程
13.12.1 执行步骤
13.12.2 命令执行举例
13.13 关键术语
13.14 提示
13.15 命令
13.16 小结
13.17 练习
13.17.1 复习题
13.17.2 练习题
13.18 上机实习
第14章 Korn shell编程
14.1 脚本基本概念
14.1.1 脚本组件
14.1.2 使脚本可执行
14.1.3 执行脚本
14.1.4 脚本终止(exit命令)
14.1.5 参数和位置参数
14.2 表达式
14.2.1 数学表达式
14.2.2 关系表达式
14.2.3 文件表达式
14.2.4 逻辑表达式
14.2.5 表达式类型小结
14.3 判定:作出选择
14.3.1 if-then-else
14.3.2 多路选择
14.4 重复
14.4.1 命令控制和列表控制循环
14.4.2 后台循环
14.4.3 循环重定向
14.5 特殊参数和变量
14.5.1 特殊参数
14.5.2 特殊变量
14.5.3 特殊参数和变量小结
14.6 改变位置参数
14.7 参数有效性验证
14.7.1 参数个数有效性验证
14.7.2 参数类型有效性验证
14.8 调试脚本
14.8.1 包括在脚本中的调试选项
14.8.2 命令行调试选项
14.9 脚本实例
14.9.1 cat
14.9.2 Copy
14.10 关键术语
14.11 提示
14.12 命令
14.13 小结
14.14 练习
14.14.1 复习题
14.14.2 练习题
14.15 上机实习
第15章 Korn shell高级编程
15.1 变量求值和替代
15.1.1 变量求值
15.1.2 变量替代
15.2 字符串处理
15.2.1 压缩字符串
15.2.2 字符串长度
15.2.3 定位字符串中的子字符串
15.2.4 抽取子字符串
15.2.5 剥取字符串
15.2.6 使用其他实用程序
15.3 此处文档
15.4 函数
15.4.1 编写函数
15.4.2 返回值
15.4.3 比较字符串
15.4.4 文件中的函数
15.5 数组
15.6 信号
15.6.1 信号类型
15.6.2 信号的响应
15.6.3 trap命令
15.7 内置命令
15.7.1 sleep命令
15.7.2 点命令
15.8 脚本技术
15.8.1 读字符串
15.8.2 用户接口
15.8.3 分析选项
15.8.4 分析路径名
15.8.5 打开和关闭文件
15.9 shell环境和脚本
15.10 脚本实例
15.10.1 计算
15.10.2 逆置
15.10.3 计算列总和
15.11 关键术语
15.12 提示
15.14 命令
15.15 小结
15.15 练习
15.15.1 复习题
15.15.2 练习题
15.16 上机实习
第16章 交互式C shell
16.1 C shell特征
16.1.1 C shell会话
16.1.2 标准流
16.1.3 重定向
16.1.4 管道
16.1.5 tee命令
16.1.6 组合命令
16.1.7 命令行编辑
16.1.8 引号
16.1.9 命令替代
16.1.10 作业控制
16.1.11 C Shell的别名
16.2 两个特殊文件
16.2.1 垃圾文件(/dev/null)
16.2.2 终端文件(/dev/tty)
16.3 变量
16.3.1 用户定义变量
16.3.2 预定义变量
16.3.3 在变量中存储值
16.3.4 访问变量值
16.3.5 空变量
16.3.6 清除变量
16.3.7 存储文件名
16.3.8 存储文件内容
16.3.9 在变量中存储命令
16.3.10 输出变量
16.4 输出
16.5 输入
16.5.1 逐行读
16.5.2 逐词读
16.6 命令退出状态
16.7 eval命令
16.8 环境变量
16.9 开关变量
16.10 启动和关闭脚本
16.10.1 系统启动文件
16.10.2 个人启动文件
16.10.3 启动过程
16.10.4 关闭文件
16.11 命令历史记录
16.11.1 历史文件
16.11.2 历史命令
16.11.3 重新执行以前的命令
16.11.4 替代和重新执行
16.11.5 使用以前命令中的参数
16.11.6 历史修饰符
16.11.7 路径名称修饰符
16.11.8 历史命令小结
16.12 命令执行脚本
16.12.1 执行步骤
16.12.2 命令执行举例
16.13 关键术语
16.14 提示
16.15 命令
16.16 小结
16.17 练习
16.17.1 复习题
16.17.2 练习题
16.18 上机实习
第17章 C Shell编程
17.1 脚本基本概念
17.1.1 脚本组件
17.1.2 使脚本可执行
17.1.3 执行脚本
17.1.4 脚本终止(exit命令)
17.1.5 参数和位置参数
17.2 表达式
17.2.1 数学表达式
17.2.2 关系表达式
17.2.3 文件表达式
17.2.4 逻辑表达式
17.3 判定:作出选择
17.3.1 if-then-else
17.3.2 多路选择
17.4 重复
17.5 特殊参数
17.5.1 脚本名称($0)
17.5.2 参数个数($#argv)
17.5.3 全部参数($argv)
17.5.4 特殊参数小结
17.6 改变位置参数
17.7 参数有效性验证
17.7.1 参数个数有效性验证
17.7.2 参数类型有效性验证
17.8 调试脚本
17.8.1 包括在脚本中的调试选项
17.8.2 命令行调试选项
17.9 脚本实例
17.10 关键术语
17.11 提示
17.12 命令
17.13 小结
17.14 练习
17.14.1 复习题
17.14.2 练习题
17.15 上机实习
第18章 C shell高级编程
18.1 变量求值
18.2 字符串处理
18.2.1 压缩字符串
18.2.2 使用其他实用程序
18.3 此处文档
18.4 信号
18.4.1 信号类型
18.4.2 信号的响应
18.4.3 on interrupt命令
18.5 内置命令
18.5.1 sleep命令
18.5.2 source命令
18.6 脚本技术
18.6.1 读字符串
18.6.2 用户接口
18.6.3 分析路径名称
18.7 shell环境和脚本
18.8 数组
18.8.1 创建数组
18.8.2 分析输入
18.9 脚本实例
18.9.1 模拟find命令
18.9.2 通用分类帐系统
18.9.3 删除重复项
18.10 关键术语
18.11 提示
18.12 命令
18.13 小结
18.14 练习
18.14.1 复习题
18.14.2 练习题
18.15 上机实习
附录A ASCII表
附录B 简要历史
B.1 早期
B.2 现代
B.2.1 AT&T UNIX
B.2.2 BSD UNIX
B.3 System V和BSD4的派生物
B.4 POSIX
附录C emacs
C.1 加载文件
C.1.1 文本模式
C.1.2 帮助模式
C.2 编辑文本
C.2.1 定位光标
C.2.2 插入文本
C.2.3 擦除文本
C.2.4 重新获取文本:yank命令
C.2.5 移动文本
C.2.6 拷贝文本
C.3 保存和退出emacs
C.4 其他命令
C.4.1 挂起编辑
C.4.2 撤消
C.4.3 重复
C.4.4 放弃
C.4.5 分屏
C.4.6 搜索字符串
附录D 编码系统
D.1 计算机编码系统
D.1.1 十进制数
D.1.2 二进制数
D.1.3 八进制数
D.1.4 十六进制数
D.2 整数转换
D.2.1 二进制到十进制
D.2.2 十进制到二进制
D.2.3 二进制到八进制或十六进制
附录E 预定义变量
附录F UNIX命令
附录G shell无字符
附录H Korn shell与C shell的区别
H.1 变量
H.2 命令行编辑
H.3 命令替代
H.4 别名
H.5 输入/输出
H.6 环境变量
H.7 启动文件
H.8 关闭文件
H.9 选项和开关变量
H.10 历史记录
H.11 参数
H.12 特殊变量
H.13 表达式
H.14 选择
H.15 重复
H.16 数组
H.17 函数
词汇表

本目录推荐