Linux命令行与shell脚本编程大全(第3版)

Linux命令行与shell脚本编程大全(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Richard Blum) , (Christine Bresnahan) , ,
2016-08
版次: 3
ISBN: 9787115429674
定价: 109.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 605页
字数: 922千字
正文语种: 简体中文
原版书名: Linux Command Line and Shell Scripting Bible,3E
  •   这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。
      Ricahard Blum,已在IT行业打拼20余年,担任过UNIX、Linux、Novell和Windows Server的系统及网络管理员,在Linux和开源软件领域著作颇丰。他还是一名网络课程讲师,美国多所大学和学院都采用他的Linux基础课程。

      Christine Bresnahan,系统管理员,已经在IT行业工作了30余年,通过CompTIA Linux+、LPIC-1、Linux Essentials认证。目前在印第安纳波利斯市常春藤技术社区学院担任兼职教授,讲授Linux系统管理、Linux安全和Windows安全、Python编程等课程。
    第一部分 Linux 命令行
    第1 章 初识Linux shell 2
    1.1 什么是Linux 2
    1.1.1 深入探究Linux 内核 3
    1.1.2 GNU 工具 6
    1.1.3 Linux 桌面环境 8
    1.2 Linux 发行版 12
    1.2.1 核心Linux 发行版 13
    1.2.2 特定用途的Linux 发行版 13
    1.2.3 Linux LiveCD 14
    1.3 小结 15
    第2 章 走进shell 16
    2.1 进入命令行 16
    2.1.1 控制台终端 17
    2.1.2 图形化终端 17
    2.2 通过Linux 控制台终端访问CLI 18
    2.3 通过图形化终端仿真访问CLI 20
    2.4 使用GNOME Terminal 仿真器 21
    2.4.1 访问GNOME Terminal 21
    2.4.2 菜单栏 22
    2.5 使用Konsole Terminal 仿真器 25
    2.5.1 访问Konsole Terminal 25
    2.5.2 菜单栏 26
    2.6 使用xterm 终端仿真器 29
    2.6.1 访问xterm 30
    2.6.2 命令行参数 30
    2.7 小结 32
    第3 章 基本的bash shell 命令 33
    3.1 启动shell 33
    3.2 shell 提示符 34
    3.3 bash 手册 34
    3.4 浏览文件系统 37
    3.4.1 Linux 文件系统 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 章 理解shell 86
    5.1 shell 的类型 86
    5.2 shell 的父子关系 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 登录shell 115
    6.6.2 交互式shell 进程 119
    6.6.3 非交互式shell 120
    6.6.4 环境变量持久化 121
    6.7 数组变量 121
    6.8 小结 122
    第7 章 理解Linux 文件权限 124
    7.1 Linux 的安全性 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.2 Linux 中的LVM 155
    8.3.3 使用Linux LVM 156
    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.5 aptitude 仓库 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.6 yum 软件仓库 176
    9.4 从源码安装 177
    9.5 小结 180
    第10 章 使用编辑器 181
    10.1 vim 编辑器 181
    10.1.1 检查vim 软件包 181
    10.1.2 vim 基础 183
    10.1.3 编辑数据 185
    10.1.4 复制和粘贴 185
    10.1.5 查找和替换 186
    10.2 nano 编辑器 187
    10.3 emacs 编辑器 188
    10.3.1 检查emacs 软件包 189
    10.3.2 在控制台中使用emacs 190
    10.3.3 在GUI 环境中使用emacs 195
    10.4 KDE 系编辑器 196
    10.4.1 KWrite 编辑器 196
    10.4.2 Kate 编辑器 200
    10.5 GNOME 编辑器 202
    10.5.1 启动gedit 203
    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.1 expr 命令 223
    11.7.2 使用方括号 224
    11.7.3 浮点解决方案 225
    11.8 退出脚本 228
    11.8.1 查看退出状态码 228
    11.8.2 exit 命令 229
    11.9 小结 231
    第12 章 使用结构化命令 232
    12.1 使用if-then 语句 232
    12.2 if-then-else 语句 235
    12.3 嵌套if 235
    12.4 test 命令 238
    12.4.1 数值比较 240
    12.4.2 字符串比较 242
    12.4.3 文件比较 246
    12.5 复合条件测试 254
    12.6 if-then 的高级特性 255
    12.6.1 使用双括号 255
    12.6.2 使用双方括号 256
    12.7 case 命令 257
    12.8 小结 258
    第13 章 更多的结构化命令 260
    13.1 for 命令 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.2 C 语言风格的for 命令 268
    13.2.1 C 语言的for 命令 268
    13.2.2 使用多个变量 269
    13.3 while 命令 270
    13.3.1 while 的基本格式 270
    13.3.2 使用多个测试命令 271
    13.4 until 命令 272
    13.5 嵌套循环 274
    13.6 循环处理文件数据 276
    13.7 控制循环 277
    13.7.1 break 命令 277
    13.7.2 continue 命令 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 使用更高级的getopts 302
    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.1 nice 命令 345
    16.5.2 renice 命令 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.3 shtool 库函数 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.1 dialog 包 384
    18.2.2 dialog 选项 389
    18.2.3 在脚本中使用dialog 命令 391
    18.3 使用图形 393
    18.3.1 KDE 环境 393
    18.3.2 GNOME 环境 396
    18.4 小结 400
    第19 章 初识sed 和gawk 401
    19.1 文本处理 401
    19.1.1 sed 编辑器 401
    19.1.2 gawk 程序 404
    19.2 sed 编辑器基础 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.1 next 命令 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 在脚本中使用sed 458
    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.1 if 语句 480
    22.4.2 while 语句 482
    22.4.3 do-while 语句 483
    22.4.4 for 语句 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 章 使用其他shell 495
    23.1 什么是dash shell 495
    23.2 dash shell 的特性 496
    23.2.1 dash 命令行参数 496
    23.2.2 dash 环境变量 497
    23.2.3 dash 内建命令 499
    23.3 dash 脚本编程 500
    23.3.1 创建dash 脚本 500
    23.3.2 不能使用的功能 500
    23.4 zsh shell 502
    23.5 zsh shell 的组成 503
    23.5.1 shell 选项 503
    23.5.2 内建命令 504
    23.6 zsh 脚本编程 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.1 MySQL 数据库 543
    25.1.1 使用MySQL 543
    25.1.2 在脚本中使用数据库 552
    25.2 使用Web 555
    25.2.1 安装Lynx 556
    25.2.2 lynx 命令行 557
    25.2.3 Lynx 配置文件 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
    附录A bash 命令快速指南 589
    附录B sed 和gawk 快速指南 597
  • 内容简介:
      这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。
  • 作者简介:
      Ricahard Blum,已在IT行业打拼20余年,担任过UNIX、Linux、Novell和Windows Server的系统及网络管理员,在Linux和开源软件领域著作颇丰。他还是一名网络课程讲师,美国多所大学和学院都采用他的Linux基础课程。

      Christine Bresnahan,系统管理员,已经在IT行业工作了30余年,通过CompTIA Linux+、LPIC-1、Linux Essentials认证。目前在印第安纳波利斯市常春藤技术社区学院担任兼职教授,讲授Linux系统管理、Linux安全和Windows安全、Python编程等课程。
  • 目录:
    第一部分 Linux 命令行
    第1 章 初识Linux shell 2
    1.1 什么是Linux 2
    1.1.1 深入探究Linux 内核 3
    1.1.2 GNU 工具 6
    1.1.3 Linux 桌面环境 8
    1.2 Linux 发行版 12
    1.2.1 核心Linux 发行版 13
    1.2.2 特定用途的Linux 发行版 13
    1.2.3 Linux LiveCD 14
    1.3 小结 15
    第2 章 走进shell 16
    2.1 进入命令行 16
    2.1.1 控制台终端 17
    2.1.2 图形化终端 17
    2.2 通过Linux 控制台终端访问CLI 18
    2.3 通过图形化终端仿真访问CLI 20
    2.4 使用GNOME Terminal 仿真器 21
    2.4.1 访问GNOME Terminal 21
    2.4.2 菜单栏 22
    2.5 使用Konsole Terminal 仿真器 25
    2.5.1 访问Konsole Terminal 25
    2.5.2 菜单栏 26
    2.6 使用xterm 终端仿真器 29
    2.6.1 访问xterm 30
    2.6.2 命令行参数 30
    2.7 小结 32
    第3 章 基本的bash shell 命令 33
    3.1 启动shell 33
    3.2 shell 提示符 34
    3.3 bash 手册 34
    3.4 浏览文件系统 37
    3.4.1 Linux 文件系统 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 章 理解shell 86
    5.1 shell 的类型 86
    5.2 shell 的父子关系 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 登录shell 115
    6.6.2 交互式shell 进程 119
    6.6.3 非交互式shell 120
    6.6.4 环境变量持久化 121
    6.7 数组变量 121
    6.8 小结 122
    第7 章 理解Linux 文件权限 124
    7.1 Linux 的安全性 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.2 Linux 中的LVM 155
    8.3.3 使用Linux LVM 156
    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.5 aptitude 仓库 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.6 yum 软件仓库 176
    9.4 从源码安装 177
    9.5 小结 180
    第10 章 使用编辑器 181
    10.1 vim 编辑器 181
    10.1.1 检查vim 软件包 181
    10.1.2 vim 基础 183
    10.1.3 编辑数据 185
    10.1.4 复制和粘贴 185
    10.1.5 查找和替换 186
    10.2 nano 编辑器 187
    10.3 emacs 编辑器 188
    10.3.1 检查emacs 软件包 189
    10.3.2 在控制台中使用emacs 190
    10.3.3 在GUI 环境中使用emacs 195
    10.4 KDE 系编辑器 196
    10.4.1 KWrite 编辑器 196
    10.4.2 Kate 编辑器 200
    10.5 GNOME 编辑器 202
    10.5.1 启动gedit 203
    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.1 expr 命令 223
    11.7.2 使用方括号 224
    11.7.3 浮点解决方案 225
    11.8 退出脚本 228
    11.8.1 查看退出状态码 228
    11.8.2 exit 命令 229
    11.9 小结 231
    第12 章 使用结构化命令 232
    12.1 使用if-then 语句 232
    12.2 if-then-else 语句 235
    12.3 嵌套if 235
    12.4 test 命令 238
    12.4.1 数值比较 240
    12.4.2 字符串比较 242
    12.4.3 文件比较 246
    12.5 复合条件测试 254
    12.6 if-then 的高级特性 255
    12.6.1 使用双括号 255
    12.6.2 使用双方括号 256
    12.7 case 命令 257
    12.8 小结 258
    第13 章 更多的结构化命令 260
    13.1 for 命令 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.2 C 语言风格的for 命令 268
    13.2.1 C 语言的for 命令 268
    13.2.2 使用多个变量 269
    13.3 while 命令 270
    13.3.1 while 的基本格式 270
    13.3.2 使用多个测试命令 271
    13.4 until 命令 272
    13.5 嵌套循环 274
    13.6 循环处理文件数据 276
    13.7 控制循环 277
    13.7.1 break 命令 277
    13.7.2 continue 命令 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 使用更高级的getopts 302
    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.1 nice 命令 345
    16.5.2 renice 命令 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.3 shtool 库函数 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.1 dialog 包 384
    18.2.2 dialog 选项 389
    18.2.3 在脚本中使用dialog 命令 391
    18.3 使用图形 393
    18.3.1 KDE 环境 393
    18.3.2 GNOME 环境 396
    18.4 小结 400
    第19 章 初识sed 和gawk 401
    19.1 文本处理 401
    19.1.1 sed 编辑器 401
    19.1.2 gawk 程序 404
    19.2 sed 编辑器基础 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.1 next 命令 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 在脚本中使用sed 458
    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.1 if 语句 480
    22.4.2 while 语句 482
    22.4.3 do-while 语句 483
    22.4.4 for 语句 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 章 使用其他shell 495
    23.1 什么是dash shell 495
    23.2 dash shell 的特性 496
    23.2.1 dash 命令行参数 496
    23.2.2 dash 环境变量 497
    23.2.3 dash 内建命令 499
    23.3 dash 脚本编程 500
    23.3.1 创建dash 脚本 500
    23.3.2 不能使用的功能 500
    23.4 zsh shell 502
    23.5 zsh shell 的组成 503
    23.5.1 shell 选项 503
    23.5.2 内建命令 504
    23.6 zsh 脚本编程 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.1 MySQL 数据库 543
    25.1.1 使用MySQL 543
    25.1.2 在脚本中使用数据库 552
    25.2 使用Web 555
    25.2.1 安装Lynx 556
    25.2.2 lynx 命令行 557
    25.2.3 Lynx 配置文件 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
    附录A bash 命令快速指南 589
    附录B sed 和gawk 快速指南 597
查看详情
其他版本 / 全部 (4)
系列丛书 / 更多
Linux命令行与shell脚本编程大全(第3版)
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
Linux命令行与shell脚本编程大全(第3版)
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
Linux命令行与shell脚本编程大全(第3版)
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
Linux命令行与shell脚本编程大全(第3版)
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
Linux命令行与shell脚本编程大全(第3版)
Objective-C基础教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著;周庆成 译
Linux命令行与shell脚本编程大全(第3版)
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
Linux命令行与shell脚本编程大全(第3版)
HTML5与CSS3基础教程(第8版)
[美]Elizabeth、Castro、Bruce、Hyslop 著;望以文 译
Linux命令行与shell脚本编程大全(第3版)
CCNA学习指南(640-802)(第7版)
[美]Todd Lammle 著;袁国忠 译
Linux命令行与shell脚本编程大全(第3版)
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
Linux命令行与shell脚本编程大全(第3版)
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
Linux命令行与shell脚本编程大全(第3版)
程序是怎样跑起来的
[日]矢泽久雄 著;李逢俊 译;[日]日经Software 校
Linux命令行与shell脚本编程大全(第3版)
HTML5程序设计(第2版)
[荷兰]Peter Lubbers 著;柳靖 译
相关图书 / 更多
Linux命令行与shell脚本编程大全(第3版)
Linux系统配置及运维项目化教程(工作手册式)
李志杰
Linux命令行与shell脚本编程大全(第3版)
Linux服务器配置与管理(基于CentOS 7.2)
潘军
Linux命令行与shell脚本编程大全(第3版)
Linux核心技术从小白到大牛
黄林峰 翟文学
Linux命令行与shell脚本编程大全(第3版)
Linux网络服务器配置与管理项目教程(第三版)(微课版)
谢树新;潘玫玫;王浦衡
Linux命令行与shell脚本编程大全(第3版)
Linux系统及编程基础
李晓红;唐晓君;肖鹏
Linux命令行与shell脚本编程大全(第3版)
Linux嵌入式系统开发从小白到大牛
赵凯 著
Linux命令行与shell脚本编程大全(第3版)
Linux实战宝典
大竹龍史 山本道子
Linux命令行与shell脚本编程大全(第3版)
Linux网络操作系统(CentOS8.0)
刘猛、张文库、苏伟斌、王浩、黄超强 编
Linux命令行与shell脚本编程大全(第3版)
Linux命令行与Shell脚本编程
何伟娜 郝军
Linux命令行与shell脚本编程大全(第3版)
Linux系统编程
李成勇
Linux命令行与shell脚本编程大全(第3版)
Linux服务器配置与管理(高等职业教育计算机专业规划教材)
李治西 编
Linux命令行与shell脚本编程大全(第3版)
Lightroom Classic原创高级实战教程
姜同辉
您可能感兴趣 / 更多
Linux命令行与shell脚本编程大全(第3版)
启微·通往权力之路:康熙和他的继承人
[美]吴秀良(Silas H.L.Wu) 著;张震久、吴伯娅、董建中 译
Linux命令行与shell脚本编程大全(第3版)
元分析:数据分析的共识方法与系统模式
[美]史蒂文·西姆斯克(Steven Simske) 著;倪泳鑫 潘微科 明仲 译
Linux命令行与shell脚本编程大全(第3版)
哥伦比亚中国文学史(全8卷)(2版)
[美]梅维恒 编;马小悟、张治、刘文楠 译
Linux命令行与shell脚本编程大全(第3版)
汤姆·索亚历险记(中小学课外阅读无障碍阅读)快乐读书吧六年级下册阅读新老版本随机发货智慧熊图书
[美]马克·吐温 著;闻钟 编
Linux命令行与shell脚本编程大全(第3版)
论弗洛伊德的《女性气质》—国际精神分析协会《当代弗洛伊德转折点与重要议题》系列
[美]格拉谢拉·阿贝林-萨斯·罗斯(Graciela Abelin-Sas Rose) 编;[阿根廷]利蒂西娅·格洛瑟·菲奥里尼(Leticia Glocer Fiorini)、闪小春 译
Linux命令行与shell脚本编程大全(第3版)
新纪元科学:超自然及其捍卫者、揭露者与美国文化
[美]戴维·J.赫斯(David J.Hess) 著;王挺 编;郑念、潘涛 译
Linux命令行与shell脚本编程大全(第3版)
爱书猪宝宝
[美]葛瑞格·皮佐利著 董欣佳 译
Linux命令行与shell脚本编程大全(第3版)
探寻复杂问题中的关键X:公共卫生与医疗服务体系建模
[美]桑杰·巴苏(Sanjay Basu) 著;王力男、陈玉倩、徐嘉婕 译
Linux命令行与shell脚本编程大全(第3版)
通过解题学习代数几何
[美]托马斯.嘉里蒂 著
Linux命令行与shell脚本编程大全(第3版)
健康老年人的沟通与吞咽变化
[美]安吉拉·N.布尔达(Angela N.Burda) 著;曹宜璠、袁玉芹 译
Linux命令行与shell脚本编程大全(第3版)
髋关节后方紊乱:临床评估与治疗
[美]哈尔·D.马丁(Hal D. Martin) (美)胡安·戈麦斯-霍约斯(Juan Gómez-Hoyos);李春宝
Linux命令行与shell脚本编程大全(第3版)
时代广场的蟋蟀
[美]乔治·塞尔登 著;傅湘雯 译