Linux命令行与shell脚本编程大* 第4版 linux入门到*通鸟哥的Linux私房菜shell脚本程序开发教程
运费: | ¥ 0.00-20.00 |
商品详情
书名:Linux命令行与shell脚本编程大*(第4版)
定*:*29.8
ISBN:9787**55925*4
作者:理查德·布卢姆,克里斯蒂娜·布雷斯纳汉
版次:第4版
出版时间:2022-06
内容提要:
这是*本关于Linux命令行与shell脚本编程的*面性教程,主要*括四大*分 :Linux命令行、shell脚本编程基础、*级shell脚本编程,以及*建和管理实用的脚本。本书这*版针对Linux系统的新*性进行了*面更新,**涵盖了详尽的动手教程和现实*中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你能轻松写出自己的shell脚本。 本书适合Linux系统管理员及相关开发人员阅读。
作者简介:
理查德·布卢姆(Richard Blum),从事系统管理和网络管理工作近40年,在Unix、Linux、Novell、Windows Server等*域身经*战,著有多*Linux图书。此外,他的Linux在线课程被*多所大学和学院采用。 克里斯蒂娜·布雷斯纳汉(Christine Bresnahan),拥有近40年的系统管理经验,Udemy讲师,讲授两门Linux在线课程,持有CompTIA Linux+、LPIC-*、Linux Essentials认证。 【译者介绍】 门佳,GNU/Linux深度用户,喜欢溯本求源,挖掘技术背后的来龙去脉,对程序语言设计理论、编译技术、操作系统设计与实现、Web开发等*域均有涉猎,译著*括《Linux Shell脚本攻略》《shell脚本实战(第2版)》《bash shell脚本编程*实例(第2版)》以及本书第2版和第3版等。
目录:
第 **分 Linux命令行
第 * 章 初识Linux shell 2
*.* Linux初探 2
*.*.* 深入探究Linux内核 3
*.*.2 GNU实用工具 7
*.*.3 Linux桌面环境 9
*.2 Linux发行版 *3
*.2.* 核心Linux发行版 *4
*.2.2 *定用途的Linux发行版 *4
*.3 小结 *5
第 2 章 走进shell *6
2.* 进入命令行 *6
2.*.* 控制台*端 *6
2.*.2 图形化*端 *7
2.2 通过Linux控制台*端访问CLI *8
2.3 通过图形化*端仿真器访问CLI 20
2.4 使用GNOME Terminal*端仿真器 2*
2.4.* 访问GNOME Terminal 2*
2.4.2 菜单栏 25
2.5 使用Konsole*端仿真器 27
2.5.* 访问Konsole*端仿真器 27
2.5.2 菜单栏 29
2.6 使用xterm*端仿真器 32
2.6.* 访问xterm 33
2.6.2 命令行选项 33
2.7 小结 34
第 3 章 bash shell基础命令 36
3.* 启动shell 36
3.2 使用shell提示符 37
3.3 与bash手册交互 37
3.4 浏览文件系统 4*
3.4.* Linux文件系统 4*
3.4.2 遍历目录 44
3.5 列出文件和目录 46
3.5.* 显示基本列表 46
3.5.2 显示长列表 48
3.5.3 过滤输出列表 49
3.6 处理文件 5*
3.6.* *建文件 5*
3.6.2 复制文件 5*
3.6.3 使用命令行补* 53
3.6.4 *文件 54
3.6.5 文件重命名 55
3.6.6 删除文件 57
3.7 管理目录 57
3.7.* *建目录 57
3.7.2 删除目录 58
3.8 查看文件内容 60
3.8.* 查看文件类型 60
3.8.2 查看整个文件 6*
3.8.3 查看*分文件 63
3.9 小结 64
第 4 章 更多的bash shell命令 66
4.* 监测程序 66
4.*.* 探查进程 66
4.*.2 实时监测进程 72
4.*.3 结束进程 74
4.2 监测磁盘空间 75
4.2.* 挂载存储设备 75
4.2.2 使用df命令 78
4.2.3 使用du命令 79
4.3 处理数据文件 80
4.3.* 数据排序 80
4.3.2 数据搜索 83
4.3.3 数据压缩 85
4.3.4 数据归档 86
4.4 小结 87
第 5 章 理解shell 88
5.* shell的类型 88
5.2 shell的父子关系 9*
5.2.* 查看进程列表 95
5.2.2 别出心裁的子shell用法 96
5.3 理解外*命令和内建命令 99
5.3.* 外*命令 *00
5.3.2 内建命令 *0*
5.4 小结 *06
第 6 章 Linux环境变量 *07
6.* 什么是环境变量 *07
6.*.* *局环境变量 *08
6.*.2 局*环境变量 *09
6.2 设置用户自定义变量 **0
6.2.* 设置局*用户自定义变量 **0
6.2.2 设置*局环境变量 ***
6.3 删除环境变量 **3
6.4 默认的shell环境变量 **3
6.5 设置PATH环境变量 **7
6.6 定位系统环境变量 **8
6.6.* 登录shell **9
6.6.2 交互式shell进程 *23
6.6.3 非交互式shell *24
6.6.4 环境变量持久化 *24
6.7 数组变量 *25
6.8 小结 *26
第 7 章 理解Linux文件权限 *27
7.* Linux的*性 *27
7.*.* /etc/passwd文件 *27
7.*.2 /etc/shadow文件 *29
7.*.3 添加新用户 *29
7.*.4 删除用户 *32
7.*.5 修改用户 *32
7.2 使用Linux组 *35
7.2.* /etc/group文件 *35
7.2.2 *建新组 *36
7.2.3 修改组 *37
7.3 理解文件权限 *37
7.3.* 使用文件权限符号 *37
7.3.2 默认文件权限 *39
7.4 更改*设置 *40
7.4.* 修改权限 *40
7.4.2 改变所属关系 *4*
7.5 共享文件 *42
7.6 访问控制列表 *44
7.7 小结 *45
第 8 章 管理文件系统 *47
8.* 探索Linux文件系统 *47
8.*.* Linux文件系统的演进 *47
8.*.2 日志文件系统 *48
8.*.3 卷管理文件系统 *50
8.2 使用文件系统 *5*
8.2.* *建分区 *5*
8.2.2 *建文件系统 *55
8.2.3 文件系统的检查与修复 *57
8.3 逻辑卷管理 *58
8.3.* LVM布局 *59
8.3.2 Linux中的LVM *59
8.3.3 使用Linux LVM *62
8.4 小结 *63
第 9 章 安装软件 *64
9.* 软件*管理基础 *64
9.2 基于Debian的系统 *65
9.2.* 使用apt管理软件* *65
9.2.2 使用apt安装软件* *67
9.2.3 使用apt*级软件 *69
9.2.4 使用apt卸载软件* *70
9.2.5 apt仓库 *7*
9.3 基于Red Hat的系统 *73
9.3.* 列出已安装的软件* *73
9.3.2 使用dnf安装软件 *74
9.3.3 使用dnf*级软件 *75
9.3.4 使用dnf卸载软件 *76
9.3.5 处理损坏的依赖关系 *76
9.3.6 RPM仓库 *76
9.4 使用容器管理软件 *77
9.4.* 使用snap容器 *77
9.4.2 使用flatpak容器 *79
9.5 从源代码安装 *80
9.6 小结 *83
第 *0 章 文本编辑器 *85
*0.* vim编辑器 *85
*0.*.* 检查vim软件* *85
*0.*.2 vim基础 *87
*0.*.3 编辑数据 *89
*0.*.4 复制和粘贴 *89
*0.*.5 查找和替换 *90
*0.2 nano编辑器 *9*
*0.3 Emacs编辑器 *93
*0.3.* 检查Emacs软件* *93
*0.3.2 在控制台中使用Emacs *94
*0.3.3 在GUI中使用Emacs *99
*0.4 KDE系编辑器 200
*0.4.* KWrite编辑器 200
*0.4.2 Kate编辑器 204
*0.5 GNOME编辑器 208
*0.5.* 启动gedit 208
*0.5.2 gedit的基本功能 209
*0.5.3 管理插件 2**
*0.6 小结 2*3
第二*分 shell脚本编程基础
第 ** 章 构建基础脚本 2*6
**.* 使用多个命令 2*6
**.2 *建shell脚本文件 2*7
**.3 显示消息 2*8
**.4 使用变量 220
**.4.* 环境变量 220
**.4.2 用户自定义变量 22*
**.4.3 命令替换 222
**.5 重定向输入和输出 224
**.5.* 输出重定向 224
**.5.2 输入重定向 225
**.6 管道 226
**.7 执行数学运算 228
**.7.* expr命令 228
**.7.2 使用方括号 230
**.7.3 浮点数解决方案 23*
**.8 退出脚本 234
**.8.* 查看退出状态码 234
**.8.2 exit命令 235
**.9 实战演练 237
**.*0 小结 238
第 *2 章 结构化命令 239
*2.* 使用if-then语句 239
*2.2 if-then-else语句 242
*2.3 嵌套if语句 243
*2.4 test命令 246
*2.4.* 数值比较 248
*2.4.2 字符串比较 249
*2.4.3 文件比较 253
*2.5 复合条件测试 262
*2.6 if-then的*级*性 263
*2.6.* 使用单括号 264
*2.6.2 使用双括号 265
*2.6.3 使用双方括号 266
*2.7 case命令 267
*2.8 实战演练 268
*2.9 小结 273
第 *3 章 更多的结构化命令 274
*3.* for命令 274
*3.*.* 读取列表中的值 275
*3.*.2 读取列表中的复杂值 276
*3.*.3 从变量中读取值列表 277
*3.*.4 从命令中读取值列表 278
*3.*.5 更改字段分隔符 279
*3.*.6 使用通配符读取目录 280
*3.2 C语言风格的for命令 282
*3.2.* C语言中的for命令 282
*3.2.2 使用多个变量 283
*3.3 while命令 284
*3.3.* while的基本格式 284
*3.3.2 使用多个测试命令 285
*3.4 until命令 286
*3.5 嵌套循环 287
*3.6 循环处理文件数据 290
*3.7 循环控制 29*
*3.7.* break命令 29*
*3.7.2 continue命令 294
*3.8 处理循环的输出 296
*3.9 实战演练 297
*3.9.* 查找可执行文件 297
*3.9.2 *建多个用户账户 299
*3.*0 小结 300
第 *4 章 处理用户输入 30*
*4.* 传递参数 30*
*4.*.* 读取参数 30*
*4.*.2 读取脚本名 303
*4.*.3 参数测试 305
*4.2 *殊参数变量 305
*4.2.* 参数统计 305
*4.2.2 获取所有的数据 307
*4.3 移动参数 309
*4.4 处理选项 3*0
*4.4.* 查找选项 3**
*4.4.2 使用getopt命令 3*4
*4.4.3 使用getopts命令 3*7
*4.5 选项标准化 3*9
*4.6 获取用户输入 320
*4.6.* 基本的读取 320
*4.6.2 *时 322
*4.6.3 *显示读取 323
*4.6.4 从文件中读取 323
*4.7 实战演练 324
*4.8 小结 328
第 *5 章 呈现数据 329
*5.* 理解输入和输出 329
*5.*.* 标准文件描述符 329
*5.*.2 重定向错误 332
*5.2 在脚本中重定向输出 333
*5.2.* 临时重定向 333
*5.2.2 *久重定向 334
*5.3 在脚本中重定向输入 335
*5.4 *建自己的重定向 336
*5.4.* *建输出文件描述符 336
*5.4.2 重定向文件描述符 337
*5.4.3 *建输入文件描述符 337
*5.4.4 *建读/写文件描述符 338
*5.4.5 关闭文件描述符 339
*5.5 列出打开的文件描述符 340
*5.6 抑制命令输出 34*
*5.7 使用临时文件 342
*5.7.* *建本地临时文件 342
*5.7.2 在/tmp目录中*建临时文件 344
*5.7.3 *建临时目录 344
*5.8 记录消息 345
*5.9 实战演练 346
*5.*0 小结 348
第 *6 章 脚本控制 349
*6.* 处理信号 349
*6.*.* 重温Linux信号 349
*6.*.2 产生信号 350
*6.*.3 捕获信号 352
*6.*.4 捕获脚本退出 353
*6.*.5 修改或移除信号捕获 354
*6.2 以后台模式运行脚本 356
*6.2.* 后台运行脚本 356
*6.2.2 运行多个后台作业 358
*6.3 在非控制台下运行脚本 359
*6.4 作业控制 360
*6.4.* 查看作业 360
*6.4.2 重启已停止的作业 362
*6.5 调整谦让度 363
*6.5.* nice命令 363
*6.5.2 renice命令 364
*6.6 定时运行作业 364
*6.6.* 使用at命令调度作业 364
*6.6.2 调度需要定期运行的脚本 368
*6.7 使用新shell启动脚本 37*
*6.8 实战演练 372
*6.9 小结 378
第三*分 *级shell脚本编程
第 *7 章 *建函数 380
*7.* 脚本函数基础 380
*7.*.* *建函数 38*
*7.*.2 使用函数 38*
*7.2 函数返回值 383
*7.2.* 默认的退出状态码 383
*7.2.2 使用return命令 384
*7.2.3 使用函数输出 385
*7.3 在函数中使用变量 386
*7.3.* 向函数传递参数 386
*7.3.2 在函数中处理变量 388
*7.4 数组变量和函数 390
*7.4.* 向函数传递数组 390
*7.4.2 从函数返回数组 392
*7.5 函数递归 392
*7.6 *建库 393
*7.7 在命令行中使用函数 395
*7.7.* 在命令行中*建函数 395
*7.7.2 在.bashrc文件中定义函数 396
*7.8 实战演练 398
*7.8.* 下载及安装 398
*7.8.2 构建库 398
*7.8.3 shtool库函数 399
*7.8.4 使用库 400
*7.9 小结 40*
第 *8 章 图形化桌面环境中的脚本编程 402
*8.* *建文本菜单 402
*8.*.* *建菜单布局 403
*8.*.2 *建菜单函数 404
*8.*.3 添加菜单逻辑 404
*8.*.4 整合shell脚本菜单 405
*8.*.5 使用select命令 406
*8.2 *建文本窗口*件 407
*8.2.* dialog软件* 408
*8.2.2 dialog选项 4*3
*8.2.3 在脚本中使用dialog命令 4*5
*8.3 图形化窗口*件 4*7
*8.3.* KDE环境 4*7
*8.3.2 GNOME环境 420
*8.4 实战演练 424
*8.5 小结 427
第 *9 章 初识sed和gawk 428
*9.* 文本处理 428
*9.*.* sed编辑器 428
*9.*.2 gawk编辑器 43*
*9.2 sed编辑器基础命令 437
*9.2.* 更多的替换选项 437
*9.2.2 使用地址 438
*9.2.3 删除行 44*
*9.2.4 插入和附加文本 443
*9.2.5 修改行 445
*9.2.6 转换命令 446
*9.2.7 再探打印 447
*9.2.8 使用sed处理文件 449
*9.3 实战演练 45*
*9.4 小结 456
第 20 章 正则表达式 457
20.* 正则表达式基础 457
20.*.* 定义 457
20.*.2 正则表达式的类型 458
20.2 定义BRE模式 459
20.2.* 普通文本 459
20.2.2 *殊字符 460
20.2.3 锚点字符 46*
20.2.4 点号字符 463
20.2.5 字符组 464
20.2.6 排除型字符组 466
20.2.7 区间 466
20.2.8 *殊的字符组 467
20.2.9 星号 468
20.3 扩展正则表达式 469
20.3.* 问号 469
20.3.2 加号 470
20.3.3 花括号 470
20.3.4 竖线符号 472
20.3.5 表达式分组 472
20.4 实战演练 473
20.4.* 目录文件计数 473
20.4.2 验证电话号码 474
20.4.3 解析email地址 476
20.5 小结 477
第 2* 章 sed进* 478
2*.* 多行命令 478
2*.*.* next命令 479
2*.*.2 多行删除命令 482
2*.*.3 多行打印命令 482
2*.2 *留空间 483
2*.3 排除命令 485
2*.4 改变执行流程 487
2*.4.* 分支 487
2*.4.2 测试 489
2*.5 模式替换 490
2*.5.* &符号 49*
2*.5.2 替换单*的单词 49*
2*.6 在脚本中使用sed 492
2*.6.* 使用*装器 492
2*.6.2 重定向sed的输出 493
2*.7 *建sed实用工具 494
2*.7.* 加倍行间距 494
2*.7.2 对可能含有空行的文件加倍行间距 495
2*.7.3 给文件中的行编号 495
2*.7.4 打印末尾行 496
2*.7.5 删除行 498
2*.7.6 删除HTML标签 500
2*.8 实战演练 502
2*.9 小结 506
第 22 章 gawk进* 508
22.* 使用变量 508
22.*.* 内建变量 508
22.*.2 自定义变量 5*4
22.2 处理数组 5*5
22.2.* 定义数组变量 5*5
22.2.2 遍历数组变量 5*6
22.2.3 删除数组变量 5*7
22.3 使用模式 5*7
22.3.* 正则表达式 5*7
22.3.2 匹配操作符 5*8
22.3.3 数学表达式 5*9
22.4 结构化命令 5*9
22.4.* if语句 5*9
22.4.2 while语句 52*
22.4.3 do-while语句 522
22.4.4 for语句 523
22.5 格式化打印 523
22.6 内建函数 526
22.6.* 数学函数 526
22.6.2 字符串函数 527
22.6.3 时间函数 529
22.7 自定义函数 529
22.7.* 定义函数 529
22.7.2 使用自定义函数 530
22.7.3 *建函数库 530
22.8 实战演练 53*
22.9 小结 532
第 23 章 使用其他shell 534
23.* 什么是dash shell 534
23.2 dash shell的*性 535
23.2.* dash命令行选项 535
23.2.2 dash环境变量 536
23.2.3 dash内建命令 538
23.3 dash脚本编程 539
23.3.* *建dash脚本 539
23.3.2 *能使用的*性 539
23.4 zsh shell 54*
23.5 zsh shell的组成 542
23.5.* shell选项 542
23.5.2 内建命令 543
23.6 zsh脚本编程 546
23.6.* 数学运算 547
23.6.2 结构化命令 548
23.6.3 函数 549
23.7 实战演练 549
23.8 小结 550
第四*分 *建和管理实用的脚本
第 24 章 编写简单的脚本实用工具 552
24.* 备份 552
24.*.* 日常备份 552
24.*.2 *建按小时归档的脚本 559
24.2 删除账户 562
24.2.* 功能需求 562
24.2.2 *建脚本 570
24.2.3 运行脚本 575
24.3 系统监控 577
24.3.* 获得默认的shell审计功能 577
24.3.2 权限审计功能 58*
24.3.3 *建脚本 582
24.3.4 运行脚本 585
24.4 小结 586
第 25 章 井井有条 588
25.* 理解版本控制 588
25.*.* 工作目录 589
25.*.2 暂存区 590
25.*.3 本地仓库 590
25.*.4 远程仓库 590
25.*.5 分支 590
25.*.6 克隆 59*
25.*.7 使用Git作为VCS 59*
25.2 设置Git环境 59*
25.3 使用Git提交文件 595
25.4 小结 60*
附录 A bash命令快速指南 602
附录 B sed和gawk快速指南 6*2
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...