书籍详情

Linux shell脚本编程入门

Linux shell脚本编程入门

作者:(韩)金泰龙 著; 金香 译

出版社:人民邮电出版社

出版时间:2014-09-01

ISBN:9787115366597

定价:¥89.00

购买这本书可以去
内容简介
  Linux OS在服务器以及近来引发热议的嵌入式系统中都得到广泛应用,《Linux shell脚本编程入门》介绍的就是该程序必备的shell编程要素。尤其还收录了现在门户网站、企业等使用的主流套件CentOS(Community ENTerprise Operating System)为基础的各种Linux命令,并以此为基础编写了Linux shell脚本编程示例,使读者可以亲自测试。通过《Linux shell脚本编程入门》,读者可以了解到Linux学习中必知的shell(Bourne shell、Bash shell)指令,学习Linux整体系统要素,熟悉Linux服务器和嵌入式Linux的基础知识。另外,通过对Linux服务器运行中的必要因素——shell脚本编程的理解和示例,读者可以成长为善于思考的管理员、程序员,提高自己的知识水平。
作者简介
  金泰龙韩国庆北大学计算机工程硕士,以LG电子监控事业部研究员身份开始职业生涯。从“千里眼”(韩国国内最早提供PC通讯网上服务的门户网站)时期起,在Linux俱乐部活动中表现活跃,并成立了目前韩国国内影响力最大的Linux俱乐部——韩国Linux用户集团(1998年,http://www.lug.or.kr)。曾以韩国Linux协会运营委员、技术委员的身份在KT、LG电子、韩国调配厅、釜山工商会议所、延世大学、釜山大学等20多处企业、机关、高校进行Linux学术会议及演讲,并与韩国软件振兴院(KIPA)、大邱数码产业振兴院(DIP)、韩国电子通讯研究院(ETRI)共同参与开源软件项目。 现任韩国Linux用户集团会长,并在永进专科学院定期举办Linux演讲。为推动以Linux为核心的开源软件行业,不断努力提升工学和技术专家的地位,并致力于建设以工学和技术为核心的Tech-nation Korea,努力实现工学政治。著作《CentOS Linux构建管理实务》(2007)《金泰龙C++基础入门:利用gcc学习C++和wxWidgets GUI》 (2009)《金泰龙JSP Web编程入门》(2011)《金泰龙C语言编程入门》(2012)
目录
第1章 Linux shell和基本指令 1
1.1 Linux和shell 2
1.2 Linux环境 8
1.2.1 Linux诞生 8
1.2.2 Linux的特征 9
1.2.3 vi(m)编辑器 11
1.2.4 Linux中的文件和文件系统 12
1.3 shell脚本编程基础知识 14
1.3.1 简介 14
1.3.2 帮助页面 19
1.3.3 Linux默认指令格式 22
1.3.4 shell的编辑模式 22
1.3.5 指定变量和消息输出(printf、echo) 24
1.3.6 使用多重指令(;、&&、||) 25
1.3.7 历史命令(.history、↓、↑、!) 26
1.4 Linux目录操作 28
1.4.1 pwd:显示当前工作目录位置 29
1.4.2 ls:显示当前文件和目录内容 30
1.4.3 cd:切换工作目录 37
1.4.4 less、more、cat:浏览文本文件 39
1.4.5 file:显示文件类型 41
1.4.6 Linux的默认目录结构 43
1.4.7 文件和目录操作 44
1.5 I/O重定向和管道 55
1.5.1 标准输出 55
1.5.2 标准输入 58
1.5.3 管道 60
1.5.4 过滤器 61
1.6 文件访问权限 62
1.6.1 文件/目录许可 63
1.6.2 chmod 64
1.6.3 chown、chgrp 69
1.6.4 lsattr、chattr 69
1.7 作业控制 71
1.7.1 bg 72
1.7.2 jobs、ps、kill 73
1.8 系统管理员指令总结 78
1.8.1 用户和组 78
1.8.2 终端 85
1.8.3 信息与统计 88
1.8.4 系统日志 96
1.8.5 作业控制 98
1.8.6 进程管理和启动 103
1.8.7 网络 106
1.8.8 文件系统 109
1.8.9 备份 121
1.8.10 系统资源 121
1.8.11 模块 124
1.8.12 其他指令 125
第2章 shell脚本示例解析 130
2.1 Linux启动过程和登录shell 131
2.1.1 Linux启动、终止与重启 131
2.1.2 shell初始化文件 133
2.2 命令行解析 140
2.3 指令类型 140
2.4 进程与shell 142
2.4.1 运行中的进程类型 142
2.4.2 系统调用 143
2.4.3 进程创建和系统调用 145
2.5 变量(Bourne shell) 150
2.5.1 变量类型 150
2.5.2 生成变量 158
2.5.3 局部变量转为环境变量 159
2.5.4 预定义变量 160
2.5.5 特殊参数变量 163
2.6 Bourne shell 165
2.6.1 shbang行 165
2.6.2 注释 165
2.6.3 通配符 165
2.6.4 显示器显示 166
2.6.5 局部变量 166
2.6.6 全局变量 166
2.6.7 从变量读取值 167
2.6.8 读取用户输入信息 167
2.6.9 参数 168
2.6.10 数组 168
2.6.11 替换命令 168
2.6.12 算术运算 169
2.6.13 运算符 169
2.6.14 条件语句 169
2.6.15 循环语句 171
2.6.16 文件测试 172
2.6.17 函数 176
2.7 Bash shell语法和结构 176
2.7.1 Bash shell介绍 176
2.7.2 Bash shell环境及初始化文件 178
2.7.3 Bash shell选项设置命令set、shopt 184
2.7.4 shell提示符 188
2.7.5 搜索路径 190
2.7.6 hash命令 191
2.7.7 source或dot(.)命令 192
2.8 命令行 192
2.8.1 命令处理顺序 192
2.8.2 内置命令和help命令 193
2.8.3 改变命令行处理顺序 199
2.8.4 终止状态 201
2.8.5 命令行中的多个指令 202
2.8.6 命令整合 203
2.8.7 执行命令条件 203
2.8.8 通过后台执行命令 204
2.9 作业控制 204
2.10 命令行快捷方式 207
2.10.1 完成命令和文件名 207
2.10.2 历史 207
2.10.3 访问历史文件的命令 208
2.10.4 命令行的编辑 214
2.11 别名 217
2.11.1 别名目录 217
2.11.2 创建别名 217
2.11.3 删除别名 218
2.12 操作目录栈 219
2.12.1 dirs命令 219
2.12.2 pushd和popd命令 219
2.13 元字符集 220
2.14 替换文件名 221
2.14.1 星号(*) 221
2.14.2 问号(?) 222
2.14.3 方括号([ ]) 222
2.14.4 花括号扩展({ }) 223
2.14.5 转义元字符(\) 223
2.14.6 波浪线(~)和连字符(-)扩展 224
2.14.7 通配符管理 224
2.14.8 扩展文件名通配 225
2.15 变量(Bash shell) 226
2.15.1 变量类型 226
2.15.2 变量名 227
2.15.3 declare命令 227
2.15.4 局部变量和使用范围 227
2.15.5 环境变量 229
2.15.6 清除变量设置 235
2.15.7 显示变量值 236
2.15.8 变量扩展修饰符 237
2.15.9 截取字符串的变量扩展名 239
2.15.10 位置参数 240
2.15.11 其他特殊变量 242
2.16 引用符号 242
2.16.1 反斜杠(\) 243
2.16.2 单引号(' ') 244
2.16.3 双引号(" ") 244
2.17 替换命令 245
2.18 算数扩展 247
2.19 shell扩展顺序 247
2.20 数组 248
2.21 函数 249
2.21.1 函数定义 249
2.21.2 清除函数目录和设置 251
2.22 标准I/O和重定向 251
2.23 管道 257
2.24 shell调用选项 260
第3章 正则表达式和模式检索 263
3.1 正则表达式 264
3.2 正则表达式的元字符集 264
第4章 grep模式检索 272
4.1 grep 273
4.2 egrep 281
4.3 fgrep 282
第5章 sed实用工具 284
5.1 sed 285
5.2 sed版本和帮助页面 285
5.3 sed工作原理 286
5.4 正则表达式的使用 287
第6章 awk编程 289
6.1 awk 290
6.2 awk编程格式 291
6.2.1 从文件输入 292
6.2.2 从指令输入 292
6.2.3 awk工作原理 293
6.2.4 print函数 295
6.2.5 OFMT变量 296
6.2.6 printf函数 296
6.2.7 awk -f选项 298
6.2.8 记录和字段 299
6.2.9 模式和动作 301
6.3 awk和正则表达式 303
6.4 脚本文件中的awk 305
6.5 比较表达式 306
6.5.1 条件表达式 307
6.5.2 算术运算符 308
6.5.3 逻辑运算符和混合模式 308
6.6 awk变量 309
6.6.1 数值与字符串常数 309
6.6.2 用户自定义变量 310
6.6.3 BEGIN模式 314
6.6.4 END模式 314
6.7 awk重定向 315
6.7.1 输出重定向 315
6.7.2 输入重定向 315
6.8 awk管道 317
6.9 条件语句 319
6.9.1 if条件语句 320
6.9.2 if/else 条件语句 320
6.9.3 if/else if/else条件语句 320
6.10 loop循环语句 321
6.10.1 while循环语句 322
6.10.2 for循环语句 322
6.10.3 管理循环语句 322
6.11 程序管理语句 323
6.11.1 next语句 323
6.11.2 exit函数 323
6.12 数组 324
6.12.1 针对关联数组的子脚本 324
6.12.2 命令处理参数 329
6.13 awk内置函数(1) 331
6.14 awk内置数学函数 334
6.14.1 整数型函数 335
6.14.2 生成随机数 335
6.15 用户自定义函数 336
6.16 其他 338
6.16.1 固定宽度字段 338
6.16.2 多行记录 340
6.17 awk内置函数(2) 341
6.17.1 字符串函数 341
6.17.2 时间函数 343
6.17.3 命令行参数 345
6.17.4 读取输入值 345
6.17.5 控制函数 346
6.17.6 用户自定义函数 347
6.17.7 awk命令行选项 347
第7章 Bash shell编程 350
7.1 简介 351
7.2 读取用户输入 353
7.2.1 变量 353
7.2.2 read命令 354
7.3 算数运算 355
7.3.1 整数算数运算 355
7.3.2 实数型算数运算 359
7.4 位置参数和命令行参数 360
7.4.1 位置参数 360
7.4.2 set命令和位置参数 361
7.5 条件语句和分支语句 363
7.5.1 终止状态 363
7.5.2 test命令和let命令 364
7.5.3 if/then/else命令 372
7.5.4 if/then/elif/then/else命令 373
7.5.5 文件测试 375
7.5.6 null命令 378
7.5.7 case命令 381
7.6 循环语句命令 384
7.6.1 for循环语句命令 384
7.6.2 $*和$@ 387
7.6.3 while循环语句命令 388
7.6.4 until循环语句命令 390
7.6.5 select命令和菜单 392
7.6.6 循环语句管理命令 394
7.6.7 I/O重定向和子shell 399
7.6.8 在后台使用循环语句 401
7.6.9 IFS和循环语句 401
7.7 函数 402
7.7.1 解除函数设置 403
7.7.2 导出函数 404
7.7.3 函数参数和返回值 404
7.7.4 函数和source命令 406
7.8 捕获信号 408
7.8.1 信号重置 410
7.8.2 忽略信号 410
7.8.3 trap目录 410
7.8.4 trap和函数 411
7.9 调试Bash脚本 413
7.10 命令行 414
7.10.1 使用getops的命令行处理 414
7.10.2 特殊的getopts变量 416
7.10.3 eval命令和命令行解析 417
7.11 Bash选项 418
7.11.1 shell调用选项 418
7.11.2 set命令和选项 419
7.12 shell内置命令 420
7.13 shell对照表 421
7.14 Linux启动脚本分析 421
7.15 利用Bash脚本创建Text GUI 428
7.15.1 安装dialog实用工具 428
7.15.2 dialog用法 432
7.15.3 消息框(MsgBox) 434
7.15.4 yes/no消息框 434
7.15.5 输入框 435
7.15.6 单选列表 436
7.15.7 编写dialog示例 437
第8章 vi(m)编辑器和有用的实用工具 442
8.1 vi(m)编辑器:vi improved 443
8.1.1 vi(m) 443
8.1.2 vi(m)启动 444
8.1.3 常用编辑命令 447
8.1.4 高级编辑命令 454
8.1.5 使用多个编辑窗口 465
8.2 vi(m)教程 467
8.3 有用的实用工具 481
8.3.1 cut 481
8.3.2 paste 482
8.3.3 join 483
8.3.4 tr 483
8.3.5 uniq 484
8.3.6 split 485
8.3.7 col 486
8.3.8 xarg 487
8.3.9 find 488
8.3.10 tee 492
索引 494
猜您喜欢

读书导航