《Linux命令行与shell脚本编程大全(第3版)》是关于Linux命令行和shell命令的全面参考资料,涵盖详尽的动手教程和实际套用指南,并提供相关参考信息和背景资料,带你从Linux命令行基础入手,直到写出自己的shell。
基本介绍
- 书名:Linux命令行与shell脚本编程大全(第3版)
- 作者:[美] 布鲁姆(Richard Blum),布雷斯纳汉(Christine Bresnahan)
- 译者:门佳,武海峰
- ISBN:9787115429674
- 页数:605
- 定价:109
- 出版社:人民邮电出版社
- 出版时间:2016-8
- 开本:16
图书简介
《Linux命令行与shell脚本编程大全(第3版)》是关于Linux命令行和shell命令的全面参考资料,涵盖详尽的动手教程和实际套用指南,并提供相关参考信息和背景资料,带你从Linux命令行基础入手,直到写出自己的shell。
《Linux命令行与shell脚本编程大全(第3版)》是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。
《Linux命令行与shell脚本编程大全(第3版)》针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。
通过《Linux命令行与shell脚本编程大全(第3版)》的学习,你将轻鬆写出自己的shell脚本。
目录
第一部分Linux命令行
第1章 初识Linux shell2
1.1什幺是Linux2
1.1.1深入探究Linux核心3
1.1.2GNU工具6
1.1.3Linux桌面环境8
1.2Linux发行版12
1.2.1核心Linux发行版13
1.2.2特定用途的Linux发行版13
1.2.3Linux LiveCD14
1.3小结15
第2章 走进shell16
2.1进入命令行16
2.1.1控制台终端17
2.1.2图形化终端17
2.2通过Linux控制台终端访问CLI18
2.3通过图形化终端仿真访问CLI20
2.4使用GNOME Terminal仿真器21
2.4.1访问GNOME Terminal21
2.4.2选单栏22
2.5使用Konsole Terminal仿真器25
2.5.1访问Konsole Terminal25
2.5.2选单栏26
2.6使用xterm终端仿真器29
2.6.1访问xterm30
2.6.2命令行参数30
2.7小结32
第3章 基本的bash shell命令33
3.1启动shell33
3.2shell提示符34
3.3bash手册34
3.4浏览档案系统37
3.4.1Linux档案系统37
3.4.2遍历目录40
3.5档案和目录列表42
3.5.1基本列表功能42
3.5.2显示长列表44
3.5.3过滤输出列表45
3.6处理档案46
3.6.1创建档案47
3.6.2複製档案47
3.6.3製表键自动补全50
3.6.4连结档案50
3.6.5重命名档案52
3.6.6删除档案54
3.7处理目录55
3.7.1创建目录55
3.7.2删除目录55
3.8查看档案内容58
3.8.1查看档案类型58
3.8.2查看整个档案59
3.8.3查看部分档案61
3.9小结63
第4章 更多的bash shell命令64
4.1监测程式64
4.1.1探查进程64
4.1.2实时监测进程70
4.1.3结束进程72
4.2监测磁碟空间73
4.2.1挂载存储媒体73
4.2.2使用df命令76
4.2.3使用du命令77
4.3处理数据档案78
4.3.1排序数据78
4.3.2搜寻数据81
4.3.3压缩数据83
4.3.4归档数据84
4.4小结85
第5章 理解shell86
5.1shell的类型86
5.2shell的父子关係88
5.2.1进程列表91
5.2.2别出心裁的子shell用法93
5.3理解shell的内建命令96
5.3.1外部命令96
5.3.2内建命令97
5.4小结101
第6章 使用Linux环境变数103
6.1什幺是环境变数103
6.1.1全局环境变数104
6.1.2局部环境变数105
6.2设定用户定义变数106
6.2.1设定局部用户定义变数106
6.2.2设定全局环境变数107
6.3删除环境变数109
6.4默认的shell环境变数110
6.5设定PATH环境变数113
6.6定位系统环境变数114
6.6.1登录shell115
6.6.2互动式shell进程119
6.6.3非互动式shell120
6.6.4环境变数持久化121
6.7数组变数121
6.8小结122
第7章 理解Linux档案许可权124
7.1Linux的安全性124
7.1.1/etc/passwd档案124
7.1.2/etc/shadow档案126
7.1.3添加新用户127
7.1.4删除用户129
7.1.5修改用户130
7.2使用Linux组132
7.2.1/etc/group档案133
7.2.2创建新组133
7.2.3修改组134
7.3理解档案许可权135
7.3.1使用档案许可权符135
7.3.2默认档案许可权136
7.4改变安全性设定138
7.4.1改变许可权138
7.4.2改变所属关係139
7.5已分享档案140
7.6小结142
第8章 管理档案系统143
8.1探索Linux档案系统143
8.1.1基本的Linux档案系统143
8.1.2日誌档案系统145
8.1.3写时複製档案系统147
8.2操作档案系统147
8.2.1创建分区147
8.2.2创建档案系统151
8.2.3档案系统的检查与修复153
8.3逻辑卷管理154
8.3.1逻辑卷管理布局154
8.3.2Linux中的LVM155
8.3.3使用Linux LVM156
8.4小结162
第9章 安装软体程式163
9.1包管理基础163
9.2基于Debian的系统164
9.2.1用aptitude管理软体包164
9.2.2用aptitude安装软体包166
9.2.3用aptitude更新软体168
9.2.4用aptitude卸载软体169
9.2.5aptitude仓库169
9.3基于Red Hat的系统171
9.3.1列出已安装包171
9.3.2用yum安装软体173
9.3.3用yum更新软体174
9.3.4用yum卸载软体174
9.3.5处理损坏的包依赖关係175
9.3.6yum软体仓库176
9.4从源码安装177
9.5小结180
第10章 使用编辑器181
10.1vim编辑器181
10.1.1检查vim软体包181
10.1.2vim基础183
10.1.3编辑数据185
10.1.4複製和贴上185
10.1.5查找和替换186
10.2nano编辑器187
10.3emacs编辑器188
10.3.1检查emacs软体包189
10.3.2在控制台中使用emacs190
10.3.3在GUI环境中使用emacs195
10.4KDE系编辑器196
10.4.1KWrite编辑器196
10.4.2Kate编辑器200
10.5GNOME编辑器202
10.5.1启动gedit203
10.5.2基本的gedit功能203
10.5.3设定偏好设定204
10.6小结206
第二部分shell脚本编程基础
第11章 构建基本脚本210
11.1使用多个命令210
11.2创建shell脚本档案211
11.3显示讯息212
11.4使用变数214
11.4.1环境变数214
11.4.2用户变数215
11.4.3命令替换216
11.5重定向输入和输出218
11.5.1输出重定向218
11.5.2输入重定向219
11.6管道220
11.7执行数学运算222
11.7.1expr命令223
11.7.2使用方括弧224
11.7.3浮点解决方案225
11.8退出脚本228
11.8.1查看退出状态码228
11.8.2exit命令229
11.9小结231
第12章 使用结构化命令232
12.1使用if-then语句232
12.2if-then-else语句235
12.3嵌套if235
12.4test命令238
12.4.1数值比较240
12.4.2字元串比较242
12.4.3档案比较246
12.5複合条件测试254
12.6if-then的高级特性255
12.6.1使用双括弧255
12.6.2使用双方括弧256
12.7case命令257
12.8小结258
第13章 更多的结构化命令260
13.1for命令260
13.1.1读取列表中的值261
13.1.2读取列表中的複杂值262
13.1.3从变数读取列表263
13.1.4从命令读取值264
13.1.5更改栏位分隔设定265
13.1.6用通配符读取目录266
13.2C语言风格的for命令268
13.2.1C语言的for命令268
13.2.2使用多个变数269
13.3while命令270
13.3.1while的基本格式270
13.3.2使用多个测试命令271
13.4until命令272
13.5嵌套循环274
13.6循环处理档案数据276
13.7控制循环277
13.7.1break命令277
13.7.2continue命令280
13.8处理循环的输出282
13.9实例283
13.9.1查找执行档284
13.9.2创建多个用户账户285
13.10小结286
第14章 处理用户输入287
14.1命令行参数287
14.1.1读取参数287
14.1.2读取脚本名289
14.1.3测试参数291
14.2特殊参数变数292
14.2.1参数统计292
14.2.2抓取所有的数据294
14.3移动变数295
14.4处理选项296
14.4.1查找选项297
14.4.2使用getopt命令300
14.4.3使用更高级的getopts302
14.5将选项标準化305
14.6获得用户输入306
14.6.1基本的读取306
14.6.2逾时307
14.6.3隐藏方式读取308
14.6.4从档案中读取309
14.7小结309
第15章 呈现数据311
15.1理解输入和输出311
15.1.1标準档案描述符311
15.1.2重定向错误313
15.2在脚本中重定向输出315
15.2.1临时重定向315
15.2.2永久重定向316
15.3在脚本中重定向输入317
15.4创建自己的重定向317
15.4.1创建输出档案描述符318
15.4.2重定向档案描述符318
15.4.3创建输入档案描述符319
15.4.4创建读写档案描述符320
15.4.5关闭档案描述符321
15.5列出打开的档案描述符322
15.6阻止命令输出323
15.7创建临时档案324
15.7.1创建本地临时档案324
15.7.2在/tmp目录创建临时档案325
15.7.3创建临时目录326
15.8记录讯息327
15.9实例328
15.10小结330
第16章 控制脚本331
16.1处理信号331
16.1.1重温Linux信号331
16.1.2生成信号332
16.1.3捕获信号334
16.1.4捕获脚本退出335
16.1.5修改或移除捕获335
16.2以后台模式运行脚本338
16.2.1后台运行脚本338
16.2.2运行多个后台作业340
16.3在非控制台下运行脚本341
16.4作业控制342
16.4.1查看作业342
16.4.2重启停止的作业344
16.5调整谦让度345
16.5.1nice命令345
16.5.2renice命令346
16.6定时运行作业346
16.6.1用at命令来计画执行作业347
16.6.2安排需要定期执行的脚本349
16.6.3使用新shell启动脚本352
16.7小结353
第三部分 高级shell脚本编程
第17章 创建函式356
17.1基本的脚本函式356
17.1.1创建函式357
17.1.2使用函式357
17.2返回值359
17.2.1默认退出状态码359
17.2.2使用return命令360
17.2.3使用函式输出361
17.3在函式中使用变数362
17.3.1向函式传递参数362
17.3.2在函式中处理变数364
17.4数组变数和函式366
17.4.1向函式传数组参数366
17.4.2从函式返回数组368
17.5函式递归369
17.6创建库370
17.7在命令行上使用函式371
17.7.1在命令行上创建函式372
17.7.2在.bashrc档案中定义函式372
17.8实例374
17.8.1下载及安装374
17.8.2构建库374
17.8.3shtool库函式376
17.8.4使用库376
17.9小结377
第18章 图形化桌面环境中的脚本编程378
18.1创建文本选单378
18.1.1创建选单布局379
18.1.2创建选单函式380
18.1.3添加选单逻辑380
18.1.4整合shell脚本选单381
18.1.5使用select命令382
18.2製作视窗384
18.2.1dialog包384
18.2.2dialog选项389
18.2.3在脚本中使用dialog命令391
18.3使用图形393
18.3.1KDE环境393
18.3.2GNOME环境396
18.4小结400
第19章 初识sed和gawk401
19.1文本处理401
19.1.1sed编辑器401
19.1.2gawk程式404
19.2sed编辑器基础410
19.2.1更多的替换选项410
19.2.2使用地址411
19.2.3删除行414
19.2.4插入和附加文本415
19.2.5修改行417
19.2.6转换命令418
19.2.7回顾列印419
19.2.8使用sed处理档案421
19.3小结423
第20章 正则表达式424
20.1什幺是正则表达式424
20.1.1定义424
20.1.2正则表达式的类型425
20.2定义BRE模式426
20.2.1纯文本426
20.2.2特殊字元427
20.2.3锚字元428
20.2.4点号字元430
20.2.5字元组430
20.2.6排除型字元组432
20.2.7区间433
20.2.8特殊的字元组434
20.2.9星号434
20.3扩展正则表达式436
20.3.1问号436
20.3.2加号437
20.3.3使用花括弧437
20.3.4管道符号438
20.3.5表达式分组439
20.4正则表达式实战439
20.4.1目录档案计数440
20.4.2验证电话号码441
20.4.3解析邮件地址443
20.5小结444
第21章sed进阶445
21.1多行命令445
21.1.1next命令446
21.1.2多行删除命令449
21.1.3多行列印命令449
21.2保持空间450
21.3排除命令451
21.4改变流454
21.4.1分支454
21.4.2测试455
21.5模式替代456
21.5.1&符号457
21.5.2替代单独的单词457
21.6在脚本中使用sed458
21.6.1使用包装脚本458
21.6.2重定向sed的输出459
21.7创建sed实用工具460
21.7.1加倍行间距460
21.7.2对可能含有空白行的档案加倍行间距460
21.7.3给档案中的行编号461
21.7.4列印末尾行462
21.7.5删除行463
21.7.6删除HTML标籤466
21.8小结467
第22章gawk进阶469
22.1使用变数469
22.1.1内建变数469
22.1.2自定义变数474
22.2处理数组476
22.2.1定义数组变数476
22.2.2遍历数组变数477
22.2.3删除数组变数478
22.3使用模式478
22.3.1正则表达式478
22.3.2匹配操作符479
22.3.3数学表达式480
22.4结构化命令480
22.4.1if语句480
22.4.2while语句482
22.4.3do-while语句483
22.4.4for语句484
22.5格式化列印484
22.6内建函式487
22.6.1数学函式487
22.6.2字元串函式488
22.6.3时间函式490
22.7自定义函式490
22.7.1定义函式490
22.7.2使用自定义函式491
22.7.3创建函式馆491
22.8实例492
22.9小结493
第23章 使用其他shell495
23.1什幺是dash shell495
23.2dash shell的特性496
23.2.1dash命令行参数496
23.2.2dash环境变数497
23.2.3dash内建命令499
23.3dash脚本编程500
23.3.1创建dash脚本500
23.3.2不能使用的功能500
23.4zsh shell502
23.5zsh shell的组成503
23.5.1shell选项503
23.5.2内建命令504
23.6zsh脚本编程508
23.6.1数学运算508
23.6.2结构化命令509
23.6.3函式510
23.7小结510
第四部分 创建实用的脚本
第24章 编写简单的脚本实用工具514
24.1归档514
24.2管理用户账户523
24.2.1需要的功能523
24.2.2创建脚本530
24.2.3运行脚本535
24.3监测磁碟空间537
24.3.1需要的功能537
24.3.2创建脚本540
24.3.3运行脚本541
24.4小结542
第25章 创建与资料库、Web及电子邮件相关的脚本543
25.1MySQL资料库543
25.1.1使用MySQL543
25.1.2在脚本中使用资料库552
25.2使用Web555
25.2.1安装Lynx556
25.2.2lynx命令行557
25.2.3Lynx配置档案558
25.2.4从Lynx中获取数据559
25.3使用电子邮件561
25.4小结564
第26章 一些小有意思的脚本565
26.1传送讯息565
26.1.1功能分析565
26.1.2创建脚本568
26.2获取格言573
26.2.1功能分析574
26.2.2创建脚本577
26.3编造藉口583
26.3.1功能分析583
26.3.2创建脚本586
26.4小结587
附录Abash命令快速指南589
附录Bsed和gawk快速指南597