新書推薦:
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
《
6S精益管理实战(精装版)
》
售價:NT$
458.0
《
异域回声——晚近海外汉学之文史互动研究
》
售價:NT$
500.0
《
世界文明中的作物迁徙:聚焦亚洲、中东和南美洲被忽视的本土农业文明
》
售價:NT$
454.0
《
无端欢喜
》
售價:NT$
347.0
《
股票大作手操盘术
》
售價:NT$
245.0
編輯推薦:
本书是Unix Shell Programming经典畅销图书的全新升级版本,遵循了上一版的写作手法,并以POSIX标准Shell为平台,讲解了在Shell编程环境中编写程序的方法,以充分利用UNIX和类UNIX操作系统的潜在性能。 本书首先快速回顾了UNIX的各种实用工具,然后讲解了在Shell环境中编写、调试Shell脚本,以及理解其工作方式的所有内容。本书囊括了Shell的所有主要特性,包含了大量实用案例,旨在让你针对特定的应用轻松开发Shell脚本。本书还讲解了Korn和Bash Shell的主要特性。 本书内容: 充分利用UNIX系统中提供的各种实用工具 编写强大的Shell脚本 使用Shell内置的决策和循环结构 使用Shell强大的引用机制 充分使用Shell内置的历史和命令编辑功能 在UNIX命令中使用正则表达式 使用Korn和Bash Shell的特殊特性 识别不同Shell语言版本之间的主要差异 自定义UNIX系统的响应方式 设置Shell环境 使用函数 调试脚本
內容簡介:
《UNIX Linux OS X中的Shell编程 第4版》是经典图书Unix Shell Programming时隔15年之后的全新升级版本,全面讲解了如何在POSIX标准Shell环境中开发程序,以充分发挥UNIX和类UNIX操作系统的潜在功能。 《UNIX Linux OS X中的Shell编程 第4版》共分为14章,其内容涵盖了Linux UNIX的基础知识,Shell的概念、工作原理和运行机制,编写Shell程序时使用的一些工具,Shell中的脚本与变量,在Shell中如何解释引用,传递参数,条件语句,循环,数据的读取及打印,Shell环境,交互式以及非标准Shell的特性等。《UNIX Linux OS X中的Shell编程 第4版》后面的两个附录还提供了POSIX标准Shell的特性汇总信息,以及有助于进一步学习掌握Shell编程的资源。 《UNIX Linux OS X中的Shell编程 第4版》坚持以实例教学为理念,旨在鼓励读者动手实践,从而彻底掌握Shell编程。本书实例丰富,内容易懂,特别适合有志于掌握Shell编程的Linux UNIX初级用户阅读。
關於作者:
Stephen Kochan是多本UNIX和C语言畅销书的作者与合著者,其中包括Programming in C、Programming in Objective-C、Topics in C Programming和Exploring the Unix System。他之前是AT&T贝尔实验室的软件顾问,负责开发和讲授UNIX和C语言编程相关的课程。 Patrick Wood是Electronics for Imaging公司(坐落于新泽西)的CTO(首席技术官)。他之前曾经是贝尔实验室的一名技术人员,并在1985年遇到了Kochan先生。随后他们俩共同创建了Pipeline Associates, Inc. 公司,提供UNIX咨询服务,当时他是公司的副总裁。他们共同写作了Exploring the Unix System、Unix System Security、Topics in C Programming和Unix Shell Programming等图书。
目錄 :
第1章基础概述1
1.1基础命令1
1.1.1显示日期和时间:date命令1
1.1.2找出已登录人员:who命令1
1.1.3回显字符:echo命令2
1.2使用文件2
1.2.1列举文件:ls命令3
1.2.2显示文件内容:cat命令3
1.2.3统计文件中单词数量:wc命令3
1.2.4命令选项3
1.2.5复制文件:cp命令4
1.2.6文件重命名:mv命令4
1.2.7删除文件:rm命令5
1.3使用目录5
1.3.1主目录和路径名6
1.3.2显示工作目录:pwd命令7
1.3.3更改目录:cd命令7
1.3.4ls命令的更多用法10
1.3.5创建目录:mkdir命令12
1.3.6在目录之间复制文件12
1.3.7在目录间移动文件13
1.3.8文件链接:ln命令14
1.3.9删除目录:rmdir命令17
1.4文件名替换18
1.4.1星号18
1.4.2匹配单个字符20
1.5文件名中不易察觉的部分21
1.5.1文件名中的空格21
1.5.2其他怪异的字符22
1.6标准输入 输出和I O重定向22
1.6.1标准输入和标准输出22
1.6.2输出重定向24
1.6.3输入重定向26
1.7管道27
1.8标准错误29
1.9命令后话29
1.9.1在一行中输入多个命令29
1.9.2向后台发送命令30
1.9.3ps命令30
1.10命令总结31
第2章什么是Shell33
2.1内核和实用工具33
2.2登录Shell34
2.3在Shell中输入命令37
2.4Shell的职责38
2.4.1程序执行39
2.4.2变量及文件名替换40
2.4.3I O重定向41
2.4.4管道42
2.4.5环境控制42
2.4.6解释型编程语言43
第3章常备工具44
3.1正则表达式44
3.1.1匹配任意字符:点号(.)44
3.1.2匹配行首:脱字符(^)46
3.1.3匹配行尾:美元符号($)46
3.1.4匹配字符组:[...]47
3.1.5匹配零个或多个字符:星号(*)50
3.1.6匹配固定次数的子模式:\{...\}52
3.1.7保存已匹配的字符:\...\54
3.2cut57
3.3paste61
3.3.1-d选项62
3.3.2-s选项62
3.4sed63
3.4.1-n选项64
3.4.2删除行65
3.5tr66
3.5.1-s选项69
3.5.2-d选项69
3.6grep70
3.6.1正则表达式与grep73
3.6.2-v选项74
3.6.3-l选项74
3.6.4-n选项75
3.7sort76
3.7.1-u选项76
3.7.2-r选项77
3.7.3-o选项77
3.7.4-n选项78
3.7.5跳过某些字段78
3.7.6-t选项79
3.7.7其他选项80
3.8uniq80
3.8.1-d选项81
3.8.2其他选项82
第4章脚本与变量83
4.1命令文件83
4.2变量86
4.2.1显示变量值87
4.2.2未定义变量的值为空89
4.2.3文件名替换与变量91
4.2.4${variable}结构92
4.3内建的整数算术操作92
第5章引用95
5.1单引号95
5.2双引号98
5.3反斜线101
5.3.1使用反斜线续行102
5.3.2双引号中的反斜线102
5.4命令替换103
5.4.1反引号104
5.4.2$...结构104
5.5expr命令108
第6章传递参数111
6.1变量$#112
6.2变量$*113
6.3在电话簿中查找联系人113
6.4向电话簿中添加联系人115
6.5从电话簿中删除联系人116
6.6shift命令118
第7章条件语句120
7.1退出状态120
7.2变量$ 121
7.3test命令124
7.3.1字符串操作符124
7.3.2test的另一种格式128
7.3.3整数操作符129
7.3.4文件操作符130
7.3.5逻辑否定操作符!131
7.3.6逻辑与操作符-a131
7.3.7括号132
7.3.8逻辑或操作符-o132
7.4else133
7.5exit命令135
7.6elif137
7.7case命令141
7.7.1特殊的模式匹配字符142
7.7.2调试选项-x144
7.7.3再谈case147
7.8空命令:148
7.9&&和||149
第8章循环151
8.1for命令151
8.1.1$@变量154
8.1.2不使用列表的for命令155
8.2while命令156
8.3until命令158
8.4再谈循环162
8.4.1跳出循环162
8.4.2跳过循环中余下的命令163
8.4.3在后台执行循环164
8.4.4循环上的I O重定向165
8.4.5将数据导入及导出循环166
8.4.6单行循环166
8.5getopts命令167
第9章数据的读取及打印171
9.1read命令171
9.1.1文件复制程序171
9.1.2特殊的echo转义字符173
9.1.3mycp的改进版本174
9.1.4mycp的最终版本175
9.1.5菜单驱动的电话簿程序179
9.1.6变量$$与临时文件183
9.1.7read的退出状态184
9.2printf命令187
第10章环境192
10.1局部变量192
10.2导出变量194
10.3PS1和PS2198
10.4HOME199
10.5PATH199
10.6当前目录206
10.7再谈子Shell208
10.7.1.命令209
10.7.2exec命令212
10.7.3...和{ ...; }212
10.7.4另一种将变量传给子Shell的方法215
10.8.profile文件216
10.9TERM变量217
10.10TZ变量218
第11章再谈参数219
11.1参数替换219
11.1.1${parameter}219
11.1.2${parameter:-value}220
11.1.3${parameter:=value}220
11.1.4${parameter: value}221
11.1.5${parameter: value}222
11.1.6模式匹配222
11.1.7${#variable}224
11.2$0变量224
11.3set命令225
11.3.1-x选项225
11.3.2无参数的set226
11.3.3使用set为位置参数重新赋值227
11.3.4--选项228
11.3.5set的其他选项230
11.4IFS变量230
11.5readonly命令233
11.6unset命令234
第12章拓展内容235
12.1eval命令235
12.2wait命令237
12.3$!变量237
12.4trap命令238
12.4.1不使用参数的trap239
12.4.2忽略信号240
12.4.3重置信号240
12.5再谈I O241
12.5.1&-242
12.5.2行内输入重定向242
12.5.3Shell归档文件244
12.6函数247
12.6.1删除函数250
12.6.2return命令250
12.7type命令250
第13章再谈rolo251
13.1数据格式化考量251
13.2rolo252
13.3add254
13.4lu255
13.5display256
13.6rem257
13.7change259
13.8listall260
13.9样例输出261
第14章交互式与非标准Shell特性265
14.1使用正确的Shell265
14.2ENV文件266
14.3命令行编辑267
14.4命令历史267
14.5vi行编辑模式268
14.6emacs行编辑模式272
14.7访问历史记录的其他方法275
14.7.1history命令275
14.7.2fc命令276
14.7.3r命令277
14.8函数278
14.8.1局部变量278
14.8.2自动载入函数278
14.9整数算术278
14.9.1整数类型279
14.9.2不同基数的数字280
14.10alias命令282
14.11数组284
14.12作业控制289
14.13其他特性292
14.13.1cd命令的其他特性292
14.13.2波浪符替换292
14.13.3搜索次序293
14.14兼容性总结294
附录AShell总结295
附录B更多的相关信息329