《linux命令行和shell脚本编程宝典》是2009年人民邮电出版社出版的图书,作者是richardblum。
基本介绍
- 书名:linux命令行和shell脚本编程宝典
- 作者:[美]richardblum
- 译者:苏丽 张妍婧
- 图书简介:命令和shell脚本是非常重要的
基本信息
书名:linux命令行和shell脚本编程宝典
书号:
作者:[美]richardblum
翻译:苏丽 张妍婧
图书简介
在linux系统中,命令和shell脚本是非常重要的内容,它们的功能非常强大,使用它们可以完成各种操作。本书分为5部分。第1部分介绍linuxshell的基础知识;第2部分介绍shell脚本;第3部分介绍shell脚本编程的高级内容;第4部分介绍如何使用linux环境中的各种shell编写shell脚本;第5部分演示如何在实际情况中使用shell脚本。
本书非常全面地介绍了linux命令行和shell命令,并且提供了很多实践教程和实例应用程式信息,为学习的内容提供了相关环境,是linux的爱好者以及linux系统管理员的首选。
书籍目录
目录:
第1部分linux命令行
第1章linuxshell入门3
1.1什幺是linux3
1.1.1深入研究linux核心4
1.1.2gnu实用程式9
1.1.3linux桌面环境10
1.2linux发行版13
1.2.1核心linux发行版13
1.2.2特定linux发行版14
1.2.3linuxlivecd14
1.3小结15
第2章了解shell17
2.1终端模拟17
2.1.1图形功能18
2.1.2键盘20
2.2terminfo资料库21
2.3linux控制台23
2.4xterm终端24
2.4.1命令行参数24
2.4.2xterm主选单25
2.4.3vt选项选单26
2.4.4vt字型选单28
2.5konsole终端29
2.5.1命令行参数29
2.5.2会话30
2.5.3选单栏31
2.6gnome终端34
2.6.1命令行参数34
2.6.2选项卡35
2.6.3选单栏35
2.7小结37
第3章基本的bashshell命令38
3.1启动shell38
3.2shell提示符39
3.3bash手册40
3.4档案系统导航41
3.4.1linux档案系统41
3.4.2浏览目录43
3.5档案和目录列表44
3.5.1基本列表44
3.5.2修改显示的信息45
3.5.3完整的参数列表46
3.5.4过滤列表输出48
3.6档案处理48
3.6.1创建档案48
3.6.2複製档案49
3.6.3连结档案50
3.6.4重命名档案51
3.6.5删除档案52
3.7目录处理53
3.7.1创建目录53
3.7.2删除目录53
3.8查看档案内容54
3.8.1查看档案统计数据54
3.8.2查看档案类型54
3.8.3查看整个档案55
3.8.4查看部分档案57
3.9小结58
第4章更多bashshell命令59
4.1监控程式59
4.1.1进程查看59
4.1.2实时进程监控64
4.1.3停止进程66
4.2监控磁碟空间67
4.2.1挂载介质68
4.2.2使用df命令70
4.2.3使用du命令71
4.3运算元据档案71
4.3.1数据排序72
4.3.2搜寻数据74
4.3.3压缩数据75
4.3.4归档数据78
4.4小结79
第5章使用linux环境变数80
5.1什幺是环境变数80
5.1.1全局环境变数80
5.1.2本地环境变数81
5.2设定环境变数83
5.2.1设定本地环境变数83
5.2.2设定全局环境变数84
5.3移除环境变数84
5.4默认的shell环境变数85
5.5设定path环境变数87
5.6定位系统环境变数88
5.6.1登录shell88
5.6.2互动式shell90
5.6.3非互动式shell92
5.7变数数组92
5.8使用命令别名93
5.9小结94
第6章理解linux档案许可权96
6.1linux安全性96
6.1.1/etc/passwd档案96
6.1.2/etc/shadow档案98
6.1.3添加新用户98
6.1.4删除用户100
6.1.5修改用户100
6.2使用linux用户组102
6.2.1/etc/group档案103
6.2.2创建新用户组103
6.2.3修改用户组104
6.3解码档案许可权104
6.3.1使用档案许可权符号105
6.3.2默认档案许可权105
6.4修改安全设定107
6.4.1修改许可权107
6.4.2修改所有者108
6.5已分享档案108
6.6小结109
第7章使用编辑器111
7.1vim编辑器111
7.1.1vim基本用法111
7.1.2编辑数据113
7.1.3複製和贴上113
7.1.4搜寻和替换114
7.2emacs编辑器114
7.2.1在控制台中使用emacs114
7.2.2在xwindows中使用emacs118
7.3kde系列编辑器119
7.3.1kwrite编辑器119
7.3.2kate编辑器121
7.4gnome编辑器124
7.4.1启动gedit124
7.4.2基本gedit特性125
7.4.3设定首选项125
7.5小结128
第2部分shell脚本的基础知识
第8章基本脚本编译131
8.1使用多条命令131
8.2创建脚本档案131
8.3显示讯息133
8.4使用变数134
8.4.1环境变数134
8.4.2用户变数135
8.4.3反引号136
8.5重定向输入输出137
8.5.1输出重定向137
8.5.2输入重定向137
8.6管道138
8.7数学计算140
8.7.1expr命令140
8.7.2使用括弧141
8.7.3浮点解决方案142
8.8退出脚本145
8.8.1核对退出状态145
8.8.2退出命令146
8.9小结147
第9章使用结构化命令148
9.1使用if-then语句148
9.2if-then-else语句150
9.3嵌套if语句150
9.4test命令151
9.4.1数值比较151
9.4.2字元串比较152
9.4.3档案比较155
9.5複合条件检查161
9.6if-then的高级特徵161
9.6.1使用双圆括弧162
9.6.2使用双方括弧162
9.7case命令163
9.8小结164
第10章更多结构化命令165
10.1for命令165
10.1.1读取列表中的值165
10.1.2读取列表中的複杂值166
10.1.3从变数读取列表168
10.1.4读取命令中的值168
10.1.5改变栏位分隔设定169
10.1.6使用通配符读取目录170
10.2c式的for命令171
10.2.1c语言中的for命令171
10.2.2使用多个变数172
10.3while命令173
10.3.1while的基本格式173
10.3.2使用多条测试命令174
10.4until命令175
10.5嵌套循环176
10.6档案数据的循环178
10.7控制循环178
10.7.1break命令179
10.7.2continue命令181
10.8处理循环的输出183
10.9小结184
第11章处理用户输入185
11.1命令行参数185
11.1.1读取参数185
11.1.2读取程式名称187
11.1.3测试参数188
11.2特殊的参数变数188
11.2.1参数计数188
11.2.2获取所有数据190
11.3移位190
11.4处理选项191
11.4.1找出选项191
11.4.2使用getopt命令194
11.4.3更高级的getopts命令196
11.5标準化选项197
11.6获取用户输入198
11.6.1基本读取198
11.6.2计时199
11.6.3默读200
11.6.4读取档案200
11.7小结201
第12章显示数据202
12.1了解输入和输出202
12.1.1标準档案描述符202
12.1.2重定向错误204
12.2在脚本中重定向输出205
12.2.1临时重定向205
12.2.2永久重定向206
12.3在脚本中重定向输入207
12.4创建自己的重定向207
12.4.1创建输出档案描述符207
12.4.2重定向档案描述符208
12.4.3创建输入档案描述符208
12.4.4创建读取/写入档案描述符209
12.4.5关闭档案描述符210
12.5列出开放档案描述符210
12.6禁止命令输出212
12.7使用临时档案212
12.7.1创建本地临时档案213
12.7.2在/temp中创建临时档案213
12.7.3创建临时目录214
12.8记录讯息215
12.9小结216
第13章脚本控制217
13.1处理信号217
13.1.1linux信号回顾217
13.1.2生成信号218
13.1.3捕获信号219
13.1.4捕获脚本退出220
13.1.5移除捕获220
13.2以后台模式运行脚本221
13.2.1以后台模式运行221
13.2.2运行多个后台作业222
13.2.3退出终端222
13.3在不使用控制台的情况下运行脚本222
13.4作业控制223
13.4.1查看作业223
13.4.2重新启动停止的作业225
13.5变得更好225
13.5.1nice命令226
13.5.2renice命令226
13.6準确无误地运行227
13.6.1使用at命令调度作业227
13.6.2使用batch命令229
13.6.3调度定期脚本229
13.7从头开始230
13.7.1在启动时启动脚本231
13.7.2随新shell一起启动232
13.8小结232
第3部分高级shell脚本编程
第14章创建函式235
14.1基本脚本函式235
14.1.1创建函式235
14.1.2使用函式236
14.2返回值237
14.2.1默认退出状态237
14.2.2使用return命令238
14.2.3使用函式输出239
14.3在函式中使用变数239
14.3.1向函式传递参数240
14.3.2在函式中处理变数241
14.4数组变数与函式243
14.4.1向函式传递数组243
14.4.2从函式返回数组244
14.5函式递归245
14.6创建库246
14.7在命令行中使用函式247
14.7.1在命令行创建函式247
14.7.2在.bashrc档案中定义函式248
14.8小结249
第15章在脚本中添加颜色250
15.1创建文本选单250
15.1.1创建选单布局250
15.1.2创建选单函式251
15.1.3添加选单逻辑252
15.1.4将其全部组合在一起252
15.1.5使用select命令253
15.2添加颜色254
15.2.1ansi转义码254
15.2.2显示ansi转义码255
15.2.3在脚本中使用颜色256
15.3製作视窗257
15.3.1dialog软体包257
15.3.2dialog选项261
15.3.3在脚本中使用dialog命令263
15.4获取图形265
15.4.1kde环境265
15.4.2gnome环境267
15.5小结270
第16章sed和gawk介绍271
16.1文本处理271
16.1.1sed编辑器271
16.1.2gawk程式273
16.2sed编辑器基础知识278
16.2.1更多替换选项278
16.2.2使用地址279
16.2.3删除行281
16.2.4插入和附加文本282
16.2.5更改行283
16.2.6变换命令284
16.2.7列印命令温习284
16.2.8将档案用于sed286
16.3小结288
第17章正则表达式289
17.1正则表达式是什幺289
17.1.1正则表达式的定义289
17.1.2正则表达式的类型290
17.2定义bre模式290
17.2.1纯文本290
17.2.2特殊字元291
17.2.3定位符292
17.2.4点字元293
17.2.5字元类294
17.2.6否定字元类295
17.2.7使用範围296
17.2.8特殊字元类296
17.2.9星号297
17.3扩展的正则表达式298
17.3.1问号298
17.3.2加号299
17.3.3使用大括弧299
17.3.4管道符号300
17.3.5将表达式分组300
17.4正则表达式实战301
17.4.1计算目录档案301
17.4.2验证电话号码302
17.4.3解析电子邮件地址303
17.5小结304
第18章高级sed编程306
18.1多行命令306
18.1.1next命令306
18.1.2多行删除命令309
18.1.3多行列印命令310
18.2保留空间310
18.3否定命令311
18.4更改命令流313
18.4.1分支313
18.4.2测试314
18.5模式替换315
18.5.1与号315
18.5.2替换个别单词315
18.6在脚本中使用sed316
18.6.1使用包装器316
18.6.2重定向sed输出317
18.7创建sed工具317
18.7.1双倍行距318
18.7.2对可能有空行的档案使用双倍行距318
18.7.3对档案中的行记数319
18.7.4列印最后几行319
18.7.5删除行320
18.7.6删除html标记322
18.8小结323
第19章高级gawk编程324
19.1使用变数324
19.1.1内置变数324
19.1.2用户定义的变数328
19.2使用数组329
19.2.1定义数组变数329
19.2.2在数组变数中递归330
19.2.3删除数组变数330
19.3使用模式331
19.3.1正则表达式331
19.3.2匹配操作符331
19.3.3数学表达式332
19.4结构化命令332
19.4.1if语句333
19.4.2while语句334
19.4.3do-while语句335
19.4.4for语句335
19.5格式化列印335
19.6内置函式337
19.6.1数学函式337
19.6.2字元串函式338
19.6.3时间函式339
19.7用户定义的函式340
19.7.1定义函式340
19.7.2使用自己的函式340
19.7.3创建函式馆341
19.8小结341
第4部分可选的linuxshell
第20章ashshell345
20.1什幺是ashshell345
20.2原始ashshell346
20.2.1原始ash命令行参数346
20.2.2原始ash内置命令347
20.2.3ashshell档案349
20.3dashshell349
20.3.1dash命令行参数349
20.3.2dash环境变数350
20.3.3dash内置命令352
20.4在dash中编写脚本355
20.4.1创建ash和dash脚本355
20.4.2失效的特性355
20.5小结359
第21章tcshshell360
21.1什幺是tcshshell360
21.2tcashshell的组成部分360
21.2.1tcsh命令行参数361
21.2.2tcsh档案361
21.2.3tcsh登录档案362
21.2.4shell启动档案362
21.2.5退出档案363
21.2.6tcsh环境变数364
21.2.7shell变数364
21.2.8环境变数367
21.2.9在tcsh中设定变数369
21.2.10使用set命令369
21.2.11使用setenv命令369
21.2.12tcsh内置命令370
21.3在tcsh中编写脚本372
21.3.1处理变数372
21.3.2数组变数372
21.3.3处理数学运算372
21.3.4结构化命令373
21.3.5if语句373
21.3.6foreach语句375
21.3.7while语句375
21.3.8switch命令375
21.4小结376
第22章kornshell378
22.1kornshell的历史378
22.2ksh93shell的组成部分378
22.2.1命令行参数379
22.2.2默认档案380
22.2.3环境变数380
22.2.4内置命令385
22.3在ksh93shell中编写脚本387
22.3.1数学运算387
22.3.2结构化命令389
22.3.3命令重定向391
22.3.4规程函式391
22.4小结392
第23章zshshell393
23.1zshshell的历史393
23.2zshshell的组成部分393
23.2.1shell选项394
23.2.2zshshell档案396
23.2.3环境变数398
23.2.4内置命令401
23.3使用zsh编写脚本405
23.3.1数学运算405
23.3.2结构化命令406
23.3.3函式406
23.4小结408
第5部分高级主题
第24章使用资料库411
24.1mysql资料库411
24.1.1安装mysql411
24.1.2完成mysql配置413
24.1.3mysql客户端接口414
24.1.4创建mysql资料库对象417
24.2postgresql资料库419
24.2.1安装postgresql419
24.2.2postgresql命令接口421
24.2.3创建postgresql资料库对象422
24.3处理表424
24.3.1创建表424
24.3.2插入和删除数据425
24.3.3查询数据426
24.4在脚本中使用资料库427
24.4.1连线到资料库427
24.4.2向伺服器传送命令428
24.4.3格式化数据431
24.5小结432
第25章使用web433
25.1lynx程式433
25.1.1安装lynx434
25.1.2lynx命令行434
25.1.3lynx配置档案438
25.1.4lynx环境变数439
25.1.5从lynx捕获数据439
25.2curl程式441
25.2.1安装curl441
25.2.2curl命令行442
25.2.3研究curl444
25.3使用zsh连线网路445
25.3.1tcp模组445
25.3.2客户端/伺服器模型446
25.3.3使用zsh进行客户端/伺服器编程446
25.4小结449
第26章使用电子邮件450
26.1linux电子邮件基础知识450
26.1.1linux中的电子邮件450
26.1.2邮件传输代理451
26.1.3邮件分发代理452
26.1.4邮件用户代理452
26.2设定伺服器454
26.2.1sendmail455
26.2.2postfix456
26.3使用mailx传送讯息459
26.4mutt程式461
26.4.1安装mutt461
26.4.2mutt命令行462
26.4.3使用mutt462
26.5小结463
第27章管理员使用的shell脚本465
27.1监视系统统计信息465
27.1.1监视磁碟空闲空间465
27.1.2谁在霸占磁碟资源467
27.1.3监视cpu和记忆体使用情况469
27.2执行备份474
27.2.1归档数据档案474
27.2.2脱机存储备份档案477
27.3小结478
附录abash命令快速指南479
a.1内置命令479
a.2bash命令480
a.3环境变数481
附录bsed和gawk快速指南484
b.1sed编辑器484
b.1.1启动sed编辑器484
b.1.2sed命令484
b.2gawk程式487
b.2.1gawk命令格式487
b.2.2使用gawk487
b.2.3gawk变数488
b.2.4gawk程式功能489
附录cshell版本比较491
c.1变数491
c.1.1环境变数491
c.1.2用户定义的变数491
c.1.3数组变数492
c.2结构化命令492
c.2.1if-then、while和until语句492
c.2.2for语句493
c.3数学计算493