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

图书网
图书网
图书网
11867
文章
1870
评论
2018年12月22日12:21:19
评论
797
摘要

精通Linux命令行与shell脚本编程,尽在本书中
本书是关于Linux命令行和shell命令的全面参考资料,涵盖详尽的动手教程和实际应用指南,并提供相关参考信息和背景资料,带你从Linux命令行基础入手,直到写出自己的shell。
时隔四年后的这一版本,针对Linux的新特性和实践,进行了全面更新。
使用简单的shell脚本工具实现任务自动化
创建shell脚本,全面理解shell的用途
管理文件系统与软件包
使用nano、KDE及GNOME等编辑器
学习结构化命令、文本处理及正则表达式
创建与电子邮件、数据库及Web相关的实用脚本
优化环境、微调脚本

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

这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。

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

第一部分 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脚本编程大全(第3版) 精彩文摘

1.1.1 深入探究 Linux 内核

Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。

如果你一直都在关注Linux世界,肯定听说过Linus Torvalds。Linus还在赫尔辛基大学上学时就开发了第一版Linux内核。起初他只是想仿造一款Unix系统而已,因为当时Unix操作系统在很多大学都很流行。

图书网:Linux命令行与shell脚本编程大全(第3版)pdf

继续阅读
资源地址:用心发表评论,回复即可查看(字数限制至少10字以上)。
  • 我的微信
  • 扫一扫加好友
  • weinxin
  • 微信公众号
  • 扫一扫关注
  • weinxin
Linux集群和自动化运维pdf 操作系统/系统开发

Linux集群和自动化运维pdf

Linux集群和自动化运维 作者:余洪春 Linux集群和自动化运维 出版社:机械工业出版社 Linux集群和自动化运维 内容简介 本书是Linux运维领域公认的经典畅销书《构建高可用Linux服务器...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: