本书是Unix Shell Programming经典畅销图书的全新升级版本,遵循了上一版的写作手法,并以POSIX标准Shell为平台,讲解了在Shell编程环境中编写程序的方法,以充分利用UNIX和类UNIX操作系统的潜在性能。 本书首先快速回顾了UNIX的各种实用工具,然后讲解了在Shell环境中编写、调试Shell脚本,以及理解其工作方式的所有内容。本书囊括了Shell的所有主要特性,包含了大量实用案例,旨在让你针对特定的应用轻松发Shell脚本。本书还讲解了Korn和Bash Shell的主要特性。
售 价:¥
纸质售价:¥51.70购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权声明
内容提要
关于作者
前言
第1章 基础概述
1.1 基础命令
1.1.1 显示日期和时间:date命令
1.1.2 找出已登录人员:who命令
1.1.3 回显字符:echo命令
1.2 使用文件
1.2.1 列举文件:ls命令
1.2.2 显示文件内容:cat命令
1.2.3 统计文件中单词数量:wc命令
1.2.4 命令选项
1.2.5 复制文件:cp命令
1.2.6 文件重命名:mv命令
1.2.7 删除文件:rm命令
1.3 使用目录
1.3.1 主目录和路径名
1.3.2 显示工作目录:pwd命令
1.3.3 更改目录:cd命令
1.3.4 ls命令的更多用法
1.3.5 创建目录:mkdir命令
1.3.6 在目录之间复制文件
1.3.7 在目录间移动文件
1.3.8 文件链接:ln命令
1.3.9 删除目录:rmdir命令
1.4 文件名替换
1.4.1 星号
1.4.2 匹配单个字符
1.5 文件名中不易察觉的部分
1.5.1 文件名中的空格
1.5.2 其他怪异的字符
1.6 标准输入/输出和I/O重定向
1.6.1 标准输入和标准输出
1.6.2 输出重定向
1.6.3 输入重定向
1.7 管道
过滤器
1.8 标准错误
1.9 命令后话
1.9.1 在一行中输入多个命令
1.9.2 向后台发送命令
1.9.3 ps命令
1.10 命令总结
第2章 什么是Shell
2.1 内核和实用工具
2.2 登录Shell
2.3 在Shell中输入命令
2.4 Shell的职责
2.4.1 程序执行
2.4.2 变量及文件名替换
2.4.3 I/O重定向
2.4.4 管道
2.4.5 环境控制
2.4.6 解释型编程语言
第3章 常备工具
3.1 正则表达式
3.1.1 匹配任意字符:点号(.)
3.1.2 匹配行首:脱字符(^)
3.1.3 匹配行尾:美元符号($)
3.1.4 匹配字符组:[...]
3.1.5 匹配零个或多个字符:星号(*)
3.1.6 匹配固定次数的子模式:\{...\}
3.1.7 保存已匹配的字符:\(...\)
3.2 cut
-d和-f选项
3.3 paste
3.3.1 -d选项
3.3.2 -s选项
3.4 sed
3.4.1 -n选项
3.4.2 删除行
3.5 tr
3.5.1 -s选项
3.5.2 -d选项
3.6 grep
3.6.1 正则表达式与grep
3.6.2 -v选项
3.6.3 -l选项
3.6.4 -n选项
3.7 sort
3.7.1 -u选项
3.7.2 -r选项
3.7.3 -o选项
3.7.4 -n选项
3.7.5 跳过某些字段
3.7.6 -t选项
3.7.7 其他选项
3.8 uniq
3.8.1 -d选项
3.8.2 其他选项
第4章 脚本与变量
4.1 命令文件
注释
4.2 变量
4.2.1 显示变量值
4.2.2 未定义变量的值为空
4.2.3 文件名替换与变量
4.2.4 ${variable}结构
4.3 内建的整数算术操作
第5章 引用
5.1 单引号
5.2 双引号
5.3 反斜线
5.3.1 使用反斜线续行
5.3.2 双引号中的反斜线
5.4 命令替换
5.4.1 反引号
5.4.2 $(...)结构
5.5 expr命令
第6章 传递参数
6.1 变量$
6.2 变量$*
6.3 在电话簿中查找联系人
6.4 向电话簿中添加联系人
6.5 从电话簿中删除联系人
${n}
6.6 shift命令
第7章 条件语句
7.1 退出状态
7.2 变量$?
7.3 test命令
7.3.1 字符串操作符
7.3.2 test的另一种格式
7.3.3 整数操作符
7.3.4 文件操作符
7.3.5 逻辑否定操作符!
7.3.6 逻辑“与”操作符-a
7.3.7 括号
7.3.8 逻辑“或”操作符-o
7.4 else
7.5 exit命令
再探rem程序
7.6 elif
rem的另一个版本
7.7 case命令
7.7.1 特殊的模式匹配字符
7.7.2 调试选项-x
7.7.3 再谈case
7.8 空命令:
7.9 &&和||
第8章 循环
8.1 for命令
8.1.1 $@变量
8.1.2 不使用列表的for命令
8.2 while命令
8.3 until命令
8.4 再谈循环
8.4.1 跳出循环
8.4.2 跳过循环中余下的命令
8.4.3 在后台执行循环
8.4.4 循环上的I/O重定向
8.4.5 将数据导入及导出循环
8.4.6 单行循环
8.5 getopts命令
第9章 数据的读取及打印
9.1 read命令
9.1.1 文件复制程序
9.1.2 特殊的echo转义字符
9.1.3 mycp的改进版本
9.1.4 mycp的最终版本
9.1.5 菜单驱动的电话簿程序
9.1.6 变量$$与临时文件
9.1.7 read的退出状态
9.2 printf命令
第10章 环境
10.1 局部变量
子Shell
10.2 导出变量
export -p
10.3 PS1和PS2
10.4 HOME
10.5 PATH
10.6 当前目录
CDPATH
10.7 再谈子Shell
10.7.1 .命令
10.7.2 exec命令
10.7.3 (...)和{ ...; }
10.7.4 另一种将变量传给子Shell的方法
10.8 .profile文件
10.9 TERM变量
10.10 TZ变量
第11章 再谈参数
11.1 参数替换
11.1.1 ${parameter}
11.1.2 ${parameter:-value}
11.1.3 ${parameter:=value}
11.1.4 ${parameter:?value}
11.1.5 ${parameter:+value}
11.1.6 模式匹配
11.1.7 ${#variable}
11.2 $0变量
11.3 set命令
11.3.1 -x选项
11.3.2 无参数的set
11.3.3 使用set为位置参数重新赋值
11.3.4 --选项
11.3.5 set的其他选项
11.4 IFS变量
11.5 readonly命令
11.6 unset命令
第12章 拓展内容
12.1 eval命令
12.2 wait命令
12.3 $!变量
12.4 trap命令
12.4.1 不使用参数的trap
12.4.2 忽略信号
12.4.3 重置信号
12.5 再谈I/O
12.5.1 <&-与>&-
12.5.2 行内输入重定向
12.5.3 Shell归档文件
12.6 函数
12.6.1 删除函数
12.6.2 return命令
12.7 type命令
第13章 再谈rolo
13.1 数据格式化考量
13.2 rolo
13.3 add
13.4 lu
13.5 display
13.6 rem
13.7 change
13.8 listall
13.9 样例输出
第14章 交互式与非标准Shell特性
14.1 使用正确的Shell
14.2 ENV文件
14.3 命令行编辑
14.4 命令历史
14.5 vi行编辑模式
访问历史记录中的命令
14.6 emacs行编辑模式
访问历史记录中的命令
14.7 访问历史记录的其他方法
14.7.1 history命令
14.7.2 fc命令
14.7.3 r命令
14.8 函数
14.8.1 局部变量
14.8.2 自动载入函数
14.9 整数算术
14.9.1 整数类型
14.9.2 不同基数的数字
14.10 alias命令
删除别名
14.11 数组
14.12 作业控制
停止作业以及fg和bg命令
14.13 其他特性
14.13.1 cd命令的其他特性
14.13.2 波浪符替换
14.13.3 搜索次序
14.14 兼容性总结
附录A Shell总结
A.1 启动
A.2 命令
A.3 注释
A.4 参数与变量[1]
A.4.1 Shell变量
A.4.2 位置参数
A.4.3 特殊参数
A.4.4 参数替换
A.5 命令重新输入
A.5.1 fc命令
A.5.2 vi的行编辑模式
A.6 引用
A.7 波浪符替换
A.8 算术表达式
A.9 文件名替换
A.10 I/O重定向
A.11 导出变量与子Shell执行
A.11.1 (...)
A.11.2 { ...; }
A.11.3 再谈Shell变量
A.12 函数
A.13 作业控制
A.13.1 Shell作业
A.13.2 停止作业
A.14 命令总结
A.14.1 :命令
A.14.2 .命令
A.14.3 alias命令
A.14.4 bg命令
A.14.5 break命令
A.14.6 case命令
A.14.7 cd命令
A.14.8 continue命令
A.14.9 echo命令
A.14.10 eval命令
A.14.11 exec命令
A.14.12 exit命令
A.14.13 export命令
A.14.14 false命令
A.14.15 fc命令
A.14.16 fg命令
A.14.17 for命令
A.14.18 getopts命令
A.14.19 hash命令
A.14.20 if命令
A.14.21 jobs命令
A.14.22 kill命令
A.14.23 newgrp命令
A.14.24 pwd命令
A.14.25 read命令
A.14.26 readonly命令
A.14.27 return命令
A.14.28 set命令
A.14.29 shift命令
A.14.30 test命令
A.14.31 times命令
A.14.32 trap命令
A.14.33 true命令
A.14.34 type命令
A.14.35 umask命令
A.14.36 unalias命令
A.14.37 unset命令
A.14.38 until命令
A.14.39 wait命令
A.14.40 while命令
附录B 更多的相关信息
B.1 在线文档
Web上的文档
B.2 书籍
B.2.1 O’Reilly & Associates
B.2.2 Pearson
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜