LINUX与UNIX Shell编程指南
¥
52.19
九五品
仅1件
作者[美]D.坦思
出版社机械工业出版社
出版时间2000-06
版次1
装帧其他
货号A4
上书时间2024-12-27
商品详情
- 品相描述:九五品
图书标准信息
-
作者
[美]D.坦思
-
出版社
机械工业出版社
-
出版时间
2000-06
-
版次
1
-
ISBN
9787111080411
-
定价
38.00元
-
装帧
其他
-
开本
其他
-
纸张
其他
-
页数
357页
- 【内容简介】
-
本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。
- 【目录】
-
目 录
译者序
前言
第一部分 shell
第1章 文件安全与权限1
1.1 文件1
1.2 文件类型2
1.3 权限2
1.4 改变权限位4
1.4.1 符号模式4
1.4.2 chmod命令举例5
1.4.3 绝对模式5
1.4.4 chmod命令的其他例子6
1.4.5 可以选择使用符号模式或绝对模式7
1.5 目录7
1.6 suid/guid7
1.6.1 为什么要使用suid/guid8
1.6.2 设置suid/guid的例子8
1.7 chown和chgrp9
1.7.1 chown举例9
1.7.2 chgrp举例9
1.7.3 找出你所属于的用户组9
1.7.4 找出其他用户所属于的组10
1.8 umask10
1.8.1 如何计算umask值10
1.8.2 常用的umask值11
1.9 符号链接12
1.9.1 使用软链接来保存文件的多个映像12
1.9.2 符号链接举例12
1.10 小结13
第2章 使用find和xargs14
2.1 find命令选项14
2.1.1 使用name选项15
2.1.2 使用perm选项16
2.1.3 忽略某个目录16
2.1.4 使用user和nouser选项16
2.1.5 使用group和nogroup选项16
2.1.6 按照更改时间查找文件17
2.1.7 查找比某个文件新或旧的文件17
2.1.8 使用type选项17
2.1.9 使用size选项18
2.1.10 使用depth选项18
2.1.11 使用mount选项18
2.1.12 使用cpio选项18
2.1.13 使用exec或ok来执行shell命令19
2.1.14 find命令的例子20
2.2 xargs20
2.3 小结21
第3章 后台执行命令22
3.1 cron和crontab22
3.1.1 crontab的域22
3.1.2 crontab条目举例23
3.1.3 crontab命令选项23
3.1.4 创建一个新的crontab文件24
3.1.5 列出crontab文件24
3.1.6 编辑crontab文件24
3.1.7 删除crontab文件25
3.1.8 恢复丢失的crontab文件25
3.2 at命令25
3.2.1 使用at命令提交命令或脚本26
3.2.2 列出所提交的作业27
3.2.3 清除一个作业27
3.3 &命令27
3.3.1 向后台提交命令28
3.3.2 用ps命令查看进程28
3.3.3 杀死后台进程28
3.4 nohup命令29
3.4.1 使用nohup命令提交作业29
3.4.2 一次提交几个作业29
3.5 小结30
第4章 文件名置换31
4.1 使用*31
4.2 使用?32
4.3 使用[...]和[!...]32
4.4 小结33
第5章 shell输入与输出34
5.1 echo34
5.2 read35
5.3 cat37
5.4 管道38
5.5 tee39
5.6 标准输入、输出和错误40
5.6.1 标准输入40
5.6.2 标准输出40
5.6.3 标准错误40
5.7 文件重定向40
5.7.1 重定向标准输出41
5.7.2 重定向标准输入42
5.7.3 重定向标准错误42
5.8 结合使用标准输出和标准错误43
5.9 合并标准输出和标准错误43
5.10 exec44
5.11 使用文件描述符44
5.12 小结45
第6章 命令执行顺序46
6.1 使用&&46
6.2 使用||46
6.3 用()和{ }将命令结合在一起47
6.4 小结48
第二部分 文本过滤
第7章 正则表达式介绍49
7.1 使用句点匹配单字符50
7.2 在行首以^匹配字符串或字符序列50
7.3 在行尾以$匹配字符串或字符51
7.4 使用*匹配字符串中的单字符或其重复
序列51
7.5 使用\屏蔽一个特殊字符的含义52
7.6 使用[]匹配一个范围或集合52
7.7 使用\{\}匹配模式结果出现的次数53
7.8 小结55
第8章 grep家族56
8.1 grep57
8.1.1 双引号引用57
8.1.2 grep选项57
8.1.3 查询多个文件57
8.1.4 行匹配57
8.1.5 行数58
8.1.6 显示非匹配行58
8.1.7 精确匹配58
8.1.8 大小写敏感58
8.2 grep和正则表达式58
8.2.1 模式范围59
8.2.2 不匹配行首59
8.2.3 设置大小写59
8.2.4 匹配任意字符59
8.2.5 日期查询59
8.2.6 范围组合60
8.2.7 模式出现机率60
8.2.8 使用grep匹配“与”或者“或”模式61
8.2.9 空行61
8.2.10 匹配特殊字符61
8.2.11 查询格式化文件名61
8.2.12 查询IP地址61
8.3 类名62
8.4 系统grep命令62
8.4.1 目录63
8.4.2 passwd文件63
8.4.3 使用ps命令63
8.4.4 对一个字符串使用grep64
8.5 egrep64
8.6 小结65
第9章 AWK介绍66
9.1 调用awk66
9.2 awk脚本67
9.2.1 模式和动作67
9.2.2 域和记录67
9.2.3 awk中正则表达式及其操作70
9.2.4 元字符70
9.2.5 条件操作符70
9.2.6 awk内置变量73
9.2.7 NF、NR和FILENAME74
9.2.8 awk操作符75
9.2.9 内置的字符串函数78
9.2.10 字符串屏蔽序列80
9.2.11 awk输出函数printf81
9.2.12 printf修饰符81
9.2.13 awk数组86
9.3 小结88
第10章 sed 用法介绍89
10.1 sed怎样读取数据89
10.2 调用sed89
10.2.1 保存sed输出90
10.2.2 使用sed在文件中查询文本的方式90
10.2.3 基本sed编辑命令90
10.3 sed和正则表达式91
10.4 基本sed编程举例91
10.4.1 使用p(rint)显示行91
10.4.2 打印范围91
10.4.3 打印模式92
10.4.4 使用模式和行号进行查询92
10.4.5 匹配元字符92
10.4.6 显示整个文件92
10.4.7 任意字符92
10.4.8 首行92
10.4.9 最后一行93
10.4.10 打印行号93
10.4.11 附加文本93
10.4.12 创建sed脚本文件94
10.4.13 插入文本94
10.4.14 修改文本95
10.4.15 删除文本96
10.4.16 替换文本96
10.5 使用替换修改字符串97
10.6 将sed结果写入文件命令97
10.7 从文件中读文本98
10.8 匹配后退出98
10.9 显示文件中的控制字符99
10.10 使用系统sed99
10.10.1 处理控制字符99
10.10.2 处理报文输出101
10.10.3 去除行首数字101
10.10.4 附加文本102
10.10.5 从shell向sed传值102
10.10.6 从sed输出中设置shell变量102
10.11 快速一行命令102
10.12 小结103
第11章 合并与分割104
11.1 sort用法104
11.1.1 概述104
11.1.2 sort选项104
11.1.3 保存输出105
11.1.4 sort启动方式105
11.1.5 sort对域的参照方式105
11.1.6 文件是否已分类105
11.1.7 基本sort106
11.1.8 sort分类求逆106
11.1.9 按指定域分类106
11.1.10 数值域分类106
11.1.11 唯一性分类107
11.1.12 使用k的其他sort方法108
11.1.13 使用k做分类键排序108
11.1.14 指定sort序列108
11.1.15 pos用法108
11.1.16 使用head和tail将输出分类109
11.1.17 awk使用sort输出结果109
11.1.18 将两个分类文件合并110
11.2 系统sort110
11.3 uniq用法111
11.4 join用法112
11.5 cut用法114
11.5.1 使用域分隔符115
11.5.2 剪切指定域115
11.6 paste用法116
11.6.1 指定列116
11.6.2 使用不同的域分隔符116
11.6.3 paste命令管道输入117
11.7 split用法117
11.8 小结118
第12章 tr用法119
12.1 关于tr119
12.1.1 字符范围119
12.1.2 保存输出120
12.1.3 去除重复出现的字符120
12.1.4 删除空行120
12.1.5 大写到小写121
12.1.6 小写到大写121
12.1.7 删除指定字符121
12.1.8 转换控制字符122
12.1.9 快速转换122
12.1.10 匹配多于一个字符123
12.2 小结123
第三部分 登录环境
第13章 登录环境125
13.1 /etc/profile125
13.2 用户的$HOME.profile128
13.3 stty用法129
13.4 创建.logout文件131
13.5 小结131
第14章 环境和shell变量132
14.1 什么是shell变量132
14.2 本地变量132
14.2.1 显示变量133
14.2.2 清除变量133
14.2.3 显示所有本地shell变量133
14.2.4 结合变量值134
14.2.5 测试变量是否已经设置134
14.2.6 使用变量来保存系统命令参数135
14.2.7 设置只读变量135
14.3 环境变量136
14.3.1 设置环境变量136
14.3.2 显示环境变量136
14.3.3 清除环境变量137
14.3.4 嵌入shell变量137
14.3.5 其他环境变量139
14.3.6 set命令140
14.3.7 将变量导出到子进程140
14.4 位置变量参数141
14.4.1 在脚本中使用位置参数142
14.4.2 向系统命令传递参数142
14.4.3 特定变量参数143
14.4.4 最后的退出状态144
14.5 小结145
第15章 引号146
15.1 引用必要性146
15.2 双引号146
15.3 单引号147
15.4 反引号147
15.5 反斜线148
15.6 小结149
第四部分 基础shell编程
第16章 shell脚本介绍151
16.1 使用shell脚本的原因151
16.2 脚本内容151
16.3 运行一段脚本152
16.4 小结153
第17章 条件测试154
17.1 测试文件状态154
17.2 测试时使用逻辑操作符155
17.3 字符串测试155
17.4 测试数值156
17.5 expr用法157
17.5.1 增量计数158
17.5.2 数值测试158
17.5.3 模式匹配158
17.6 小结159
第18章 控制流结构160
18.1 退出状态160
18.2 控制结构160
18.2.1 流控制161
18.2.2 循环161
18.3 if then else语句161
18.3.1 简单的if语句162
18.3.2 变量值测试162
18.3.3 grep输出检查163
18.3.4 用变量测试grep输出163
18.3.5 文件拷贝输出检查164
18.3.6 当前目录测试164
18.3.7 文件权限测试165
18.3.8 测试传递到脚本中的参数165
18.3.9 决定脚本是否为交互模式165
18.3.10 简单的if else语句166
18.3.11 变量设置测试166
18.3.12 检测运行脚本的用户166
18.3.13 将脚本参数传入系统命令167
18.3.14 null:命令用法167
18.3.15 测试目录创建结果168
18.3.16 另一个拷贝实例169
18.3.17 多个if语句169
18.3.18 测试和设置环境变量169
18.3.19 检测最后命令状态170
18.3.20 增加和检测整数值171
18.3.21 简单的安全登录脚本172
18.3.22 elif用法173
18.3.23 使用elif进行多条件检测173
18.3.24 多文件位置检测174
18.4 case语句175
18.4.1 简单的case语句175
18.4.2 对匹配模式使用|176
18.4.3 提示键入y或n177
18.4.4 case与命令参数传递177
18.4.5 捕获输入并执行空命令178
18.4.6 缺省变量值179
18.5 for循环180
18.5.1 简单的for循环181
18.5.2 打印字符串列表181
18.5.3 对for循环使用ls命令181
18.5.4 对for循环使用参数182
18.5.5 使用for循环连接服务器183
18.5.6 使用for循环备份文件183
18.5.7 多文件转换183
18.5.8 多sed删除操作184
18.5.9 循环计数184
18.5.10 for循环和本地文档184
18.5.11 for循环嵌入185
18.6 until循环186
18.6.1 简单的until循环186
18.6.2 监视文件187
18.6.3 监视磁盘空间187
18.7 while循环188
18.7.1 简单的while循环188
18.7.2 使用while循环读键盘输入188
18.7.3 用while循环从文件中读取数据189
18.7.4 使用IFS读文件189
18.7.5 带有测试条件的文件处理190
18.7.6 扫描文件行来进行数目统计191
18.7.7 每次读一对记录193
18.7.8 忽略#字符193
18.7.9 处理格式化报表194
18.7.10 while循环和文件描述符196
18.8 使用break和continue控制循环197
18.8.1 break197
18.8.2 跳出case语句197
18.8.3 continue197
18.8.4 浏览文件行198
18.9 菜单199
18.10 小结201
第19章 shell函数202
19.1 在脚本中定义函数203
19.2 在脚本中使用函数203
19.3 向函数传递参数203
19.4 从调用函数中返回203
19.5 函数返回值测试204
19.6 在shell中使用函数204
19.7 创建函数文件204
19.8 定位文件205
19.9 检查载入函数205
19.10 执行shell函数205
19.10.1 删除shell函数206
19.10.2 编辑shell函数206
19.10.3 函数举例207
19.10.4 将函数集中在一起219
19.11 函数调用219
19.11.1 在脚本中调用函数219
19.11.2 从函数文件中调用函数220
19.12 定位文件不只用于函数222
19.13 小结223
第20章 向脚本传递参数224
20.1 shift命令225
20.1.1 shift命令简单用法225
20.1.2 命令行输入的最后一个参数225
20.1.3 使用shift处理文件转换226
20.2 getopts229
20.2.1 getopts脚本实例229
20.2.2 getopts使用方式231
20.2.3 使用getopts指定变量取值231
20.2.4 访问取值方式232
20.2.5 使用getopts处理文件转换233
20.3 小结235
第21章 创建屏幕输出236
21.1 tput用法236
21.1.1 字符串输出236
21.1.2 数字输出237
21.1.3 布尔输出237
21.2 tput用法237
21.2.1 设置tput命令237
21.2.2 使用布尔输出237
21.2.3 在脚本中使用tput237
21.2.4 产生转义序列238
21.2.5 光标位置239
21.2.6 在屏幕中心位置显示文本240
21.2.7 查找终端属性240
21.2.8 在脚本中使用功能键241
21.2.9 使用颜色242
21.2.10 产生颜色243
21.2.11 创建精致菜单246
21.3 小结251
第22章 创建屏幕输入252
22.1 增加记录252
22.2 删除记录262
22.3 修改记录266
22.4 查看记录270
22.5 小结273
第23章 调试脚本274
23.1 一般错误274
23.1.1 循环错误274
23.1.2 典型的漏写引号274
23.1.3 测试错误274
23.1.4 字符大小写275
23.1.5 for循环275
23.1.6 echo275
23.2 set命令275
23.3 小结276
第24章 shell嵌入命令277
24.1 shell嵌入命令完整列表277
24.1.1 pwd277
24.1.2 set278
24.1.3 times278
24.1.4 type278
24.1.5 ulimit279
24.1.6 wait279
24.2 小结279
第五部分 高级shell编程技巧
第25章 深入讨论<<281
25.1 快速创建一个文件281
25.2 快速创建打印文档281
25.3 自动选择菜单282
25.4 自动ftp传输283
25.5 访问数据库286
25.6 小结288
第26章 shell 工具289
26.1 创建保存信息的文件289
26.1.1 使用date命令创建日志文件289
26.1.2 创建唯一的临时文件290
26.2 信号291
26.2.1 杀死一个进程292
26.2.2 检测信号293
26.3 trap294
26.3.1 捕获信号并采取相应的行动294
26.3.2 捕获信号并采取行动的另
一个例子295
26.3.3 锁住终端297
26.3.4 忽略信号298
26.4 eval300
26.4.1 执行含有字符串的命令300
26.4.2 给每个值一个变量名301
26.5 logger命令302
26.5.1 使用logger命令303
26.5.2 在脚本中使用logger命令303
26.6 小结305
第27章 几个脚本例子306
27.1 pingall306
27.2 backup_gen306
27.3 del.lines312
27.4 access.deny313
27.5 logroll316
27.6 nfsdown317
27.7 小结317
第28章 运行级别脚本318
28.1 怎么知道系统中是否含有运行
级别目录318
28.2 确定当前的运行级别319
28.3 快速熟悉inittab319
28.4 运行级别320
28.4.1 各种运行级别321
28.4.2 运行级别脚本的格式321
28.4.3 安装运行级别脚本322
28.5 使用inittab来启动应用程序323
28.6 启动和停止服务的其他方法324
28.7 小结324
第29章 cgi脚本325
29.1 什么是Web页面?325
29.2 cgi325
29.3 连接Web服务器326
29.4 cgi和HTM脚本326
29.4.1 基本cgi脚本326
29.4.2 显示shell命令输出328
29.4.3 使用SSI330
29.4.4 访问计数器330
29.4.5 使用一个链接来显示当前Web
环境变量332
29.4.6 其他常用的环境变量334
29.5 get和post方法简介335
29.5.1 get方法335
29.5.2 post方法340
29.5.3 填充列表项347
29.5.4 自动刷新页面348
29.6 小结349
附录 常用shell命令350
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价