Linux学习之Linux命令行与shell脚本编程大全

5 篇文章 0 订阅

《Linux命令行与shell脚本编程大全》

在这里插入图片描述在这里插入图片描述

第1部分 Part 1 Linux 命令行

第1 章 初识Linux shell

第2 章 走进shell

第3 章 基本的bash shell 命令

第4 章 更多的bash shell 命令

第5 章 理解shell

第6 章 使用Linux 环境变量

第7 章 理解Linux 文件权限

第8 章 管理文件系统

第9 章 安装软件程序

第10 章 使用编辑器

第2部分 Part 2 shell 脚本编程基础

第11 章 构建基本脚本

第12 章 使用结构化命令

第13 章 更多的结构化命令

第14 章 处理用户输入

第15 章 呈现数据

第16 章 控制脚本

第3部分 Part 3 高级shell 脚本编程

第17 章 创建函数

第18 章 图形化桌面环境中的脚本编程

第19 章 初识sed 和gawk

第20 章 正则表达式

第21 章 sed 进阶

第22 章 gawk 进阶

第23 章 使用其他shell

第4部分 Part 4 创建实用的脚本

第24 章 编写简单的脚本实用工具

第25 章 创建与数据库、Web 及电子邮件相关的脚本

第26 章 一些小有意思的脚本

目 录
  第一部分 Linux 命令行
  第1章 初识Linux shell 2
  1.1 什么是Linux 2
  1.1.1 深入探究Linux内核 3
  1.1.2 GNU工具链 10
  1.1.3 Linux桌面环境 11
  1.2 Linux发行版 16
  1.2.1 核心Linux发行版 16
  1.2.2 专业Linux发行版 17
  1.2.3 Linux LiveCD 17
  1.3 小结 19
  第2章 走进shell 20
  2.1 终端模拟 20
  2.1.1 图形功能 21
  2.1.2 键盘 24
  2.2 terminfo数据库 25
  2.3 Linux控制台 28
  2.4 xterm终端 29
  2.4.1 命令行参数 30
  2.4.2 xterm主菜单 31
  2.4.3 VT选项菜单 32
  2.4.4 VT字体菜单 34
  2.5 Konsole终端 36
  2.5.1 命令行参数 36
  2.5.2 标签式窗口会话 37
  2.5.3 配置文件 38
  2.5.4 菜单栏 39
  2.6 GNOME Terminal 43
  2.6.1 命令行参数 43
  2.6.2 标签 43
  2.6.3 菜单栏 44
  2.7 小结 47
  第3章 基本的bash shell命令 48
  3.1 启动shell 48
  3.2 shell提示符 49
  3.3 bash手册 51
  3.4 浏览文件系统 52
  3.4.1 Linux文件系统 52
  3.4.2 遍历目录 54
  3.5 文件和目录列表 56
  3.5.1 基本列表功能 56
  3.5.2 修改输出信息 57
  3.5.3 完整的参数列表 58
  3.5.4 过滤输出列表 60
  3.6 处理文件 61
  3.6.1 创建文件 61
  3.6.2 复制文件 61
  3.6.3 链接文件 63
  3.6.4 重命名文件 65
  3.6.5 删除文件 65
  3.7 处理目录 67
  3.7.1 创建目录 67
  3.7.2 删除目录 67
  3.8 查看文件内容 68
  3.8.1 查看文件统计信息 68
  3.8.2 查看文件类型 69
  3.8.3 查看整个文件 69
  3.8.4 查看部分文件 72
  3.9 小结 73
  第4章 更多的bash shell命令 75
  4.1 监测程序 75
  4.1.1 探查进程 75
  4.1.2 实时监测进程 82
  4.1.3 结束进程 84
  4.2 监测磁盘空间 85
  4.2.1 挂载存储媒体 86
  4.2.2 使用df命令 89
  4.2.3 使用du命令 89
  4.3 处理数据文件 90
  4.3.1 排序数据 91
  4.3.2 搜索数据 94
  4.3.3 压缩数据 96
  4.3.4 归档数据 99
  4.4 小结 100
  第5章 使用Linux环境变量 101
  5.1 什么是环境变量 101
  5.1.1 全局环境变量 102
  5.1.2 局部环境变量 103
  5.2 设置环境变量 106
  5.2.1 设置局部环境变量 106
  5.2.2 设置全局环境变量 107
  5.3 删除环境变量 107
  5.4 默认shell环境变量 108
  5.5 设置PATH环境变量 111
  5.6 定位系统环境变量 112
  5.6.1 登录shell 112
  5.6.2 交互式shell 116
  5.6.3 非交互式shell 118
  5.7 可变数组 118
  5.8 使用命令别名 119
  5.9 小结 120
  第6章 理解Linux文件权限 122
  6.1 Linux的安全性 122
  6.1.1 /etc/passwd文件 122
  6.1.2 /etc/shadow文件 124
  6.1.3 添加新用户 125
  6.1.4 删除用户 127
  6.1.5 修改用户 128
  6.2 使用Linux组 130
  6.2.1 /etc/group文件 131
  6.2.2 创建新组 131
  6.2.3 修改组 132
  6.3 理解文件权限 133
  6.3.1 使用文件权限符 133
  6.3.2 默认文件权限 134
  6.4 改变安全性设置 136
  6.4.1 改变权限 136
  6.4.2 改变所属关系 137
  6.5 共享文件 138
  6.6 小结 139
  第7章 管理文件系统 141
  7.1 探索Linux文件系统 141
  7.1.1 基本的Linux文件系统 141
  7.1.2 日志文件系统 142
  7.1.3 扩展的Linux日志文件系统 143
  7.2 操作文件系统 145
  7.2.1 创建分区 145
  7.2.2 创建文件系统 147
  7.2.3 如果出错了 149
  7.3 逻辑卷管理器 150
  7.3.1 逻辑卷管理布局 150
  7.3.2 Linux中的LVM 151
  7.3.3 使用Linux LVM 153
  7.4 小结 157
  第8章 安装软件程序 158
  8.1 包管理基础 158
  8.2 基于Debian的系统 159
  8.2.1 用aptitude管理软件包 159
  8.2.2 用aptitude安装软件包 161
  8.2.3 用aptitude更新软件 163
  8.2.4 用aptitude卸载软件 164
  8.2.5 aptitude库 164
  8.3 基于Red Hat的系统 166
  8.3.1 列出已安装包 166
  8.3.2 用yum安装软件 167
  8.3.3 用yum更新软件 168
  8.3.4 用yum卸载软件 169
  8.3.5 处理损坏的包依赖关系 169
  8.3.6 yum软件库 171
  8.4 从源码安装 172
  8.5 小结 174
  第9章 使用编辑器 176
  9.1 Vim编辑器 176
  9.1.1 Vim基础 176
  9.1.2 编辑数据 178
  9.1.3 复制和粘贴 179
  9.1.4 查找和替换 180
  9.2 Emacs编辑器 180
  9.2.1 在控制台上使用Emacs 180
  9.2.2 在X Window中使用Emacs 185
  9.3 KDE系编辑器 186
  9.3.1 KWrite编辑器 186
  9.3.2 Kate编辑器 190
  9.4 GNOME编辑器 192
  9.4.1 启动gedit 192
  9.4.2 基本的gedit功能 193
  9.4.3 设定偏好设置 194
  9.5 小结 196
  第二部分 shell脚本编程基础
  第10章 构建基本脚本 200
  10.1 使用多个命令 200
  10.2 创建shell脚本文件 201
  10.3 显示消息 202
  10.4 使用变量 203
  10.4.1 环境变量 204
  10.4.2 用户变量 205
  10.4.3 反引号 206
  10.5 重定向输入和输出 207
  10.5.1 输出重定向 208
  10.5.2 输入重定向 208
  10.6 管道 209
  10.7 执行数学运算 212
  10.7.1 expr命令 212
  10.7.2 使用方括号 214
  10.7.3 浮点解决方案 215
  10.8 退出脚本 218
  10.8.1 查看退出状态码 218
  10.8.2 exit命令 219
  10.9 小结 221
  第11章 使用结构化命令 222
  11.1 使用if-then语句 222
  11.2 if-then-else语句 224
  11.3 嵌套if 225
  11.4 test命令 226
  11.4.1 数值比较 227
  11.4.2 字符串比较 228
  11.4.3 文件比较 232
  11.5 复合条件测试 239
  11.6 if-then的高级特性 240
  11.6.1 使用双尖括号 240
  11.6.2 使用双方括号 241
  11.7 case命令 242
  11.8 小结 243
  第12章 更多的结构化命令 245
  12.1 for命令 245
  12.1.1 读取列表中的值 246
  12.1.2 读取列表中的复杂值 247
  12.1.3 从变量读取列表 248
  12.1.4 从命令读取值 249
  12.1.5 更改字段分隔符 250
  12.1.6 用通配符读取目录 251
  12.2 C语言风格的for命令 253
  12.2.1 C语言的for命令 253
  12.2.2 使用多个变量 255
  12.3 while命令 255
  12.3.1 while的基本格式 255
  12.3.2 使用多个测试命令 256
  12.4 until命令 258
  12.5 嵌套循环 259
  12.6 循环处理文件数据 261
  12.7 控制循环 262
  12.7.1 break命令 262
  12.7.2 continue命令 265
  12.8 处理循环的输出 267
  12.9 小结 269
  第13章 处理用户输入 270
  13.1 命令行参数 270
  13.1.1 读取参数 270
  13.1.2 读取程序名 272
  13.1.3 测试参数 274
  13.2 特殊参数变量 274
  13.2.1 参数计数 274
  13.2.2 抓取所有的数据 276
  13.3 移动变量 277
  13.4 处理选项 278
  13.4.1 查找选项 279
  13.4.2 使用getopt命令 282
  13.4.3 使用更高级的getopts 284
  13.5 将选项标准化 286
  13.6 获得用户输入 287
  13.6.1 基本的读取 287
  13.6.2 超时 289
  13.6.3 隐藏方式读取 290
  13.6.4 从文件中读取 290
  13.7 小结 291
  第14章 呈现数据 293
  14.1 理解输入和输出 293
  14.1.1 标准文件描述符 293
  14.1.2 重定向错误 295
  14.2 在脚本中重定向输出 297
  14.2.1 临时重定向 297
  14.2.2 永久重定向 298
  14.3 在脚本中重定向输入 299
  14.4 创建自己的重定向 299
  14.4.1 创建输出文件描述符 300
  14.4.2 重定向文件描述符 300
  14.4.3 创建输入文件描述符 301
  14.4.4 创建读写文件描述符 302
  14.4.5 关闭文件描述符 303
  14.5 列出打开的文件描述符 304
  14.6 阻止命令输出 305
  14.7 创建临时文件 306
  14.7.1 创建本地临时文件 306
  14.7.2 在/tmp目录创建临时文件 308
  14.7.3 创建临时目录 308
  14.8 记录消息 309
  14.9 小结 310
  第15章 控制脚本 312
  15.1 处理信号 312
  15.1.1 重温Linux信号 312
  15.1.2 产生信号 313
  15.1.3 捕捉信号 314
  15.1.4 捕捉脚本的退出 315
  15.1.5 移除捕捉 316
  15.2 以后台模式运行脚本 317
  15.2.1 后台运行脚本 317
  15.2.2 运行多个后台作业 318
  15.2.3 退出终端 319
  15.3 在非控制台下运行脚本 319
  15.4 作业控制 320
  15.4.1 查看作业 320
  15.4.2 重启停止的作业 322
  15.5 调整谦让度 323
  15.5.1 nice命令 323
  15.5.2 renice命令 324
  15.6 定时运行作业 324
  15.6.1 用at命令来计划执行作业 325
  15.6.2 计划定期执行脚本 328
  15.7 启动时运行 330
  15.7.1 开机时运行脚本 330
  15.7.2 在新shell中启动 332
  15.8 小结 333
  第三部分 高级shell脚本编程
  第16章 创建函数 336
  16.1 基本的脚本函数 336
  16.1.1 创建函数 337
  16.1.2 使用函数 337
  16.2 返回值 339
  16.2.1 默认退出状态码 339
  16.2.2 使用return命令 340
  16.2.3 使用函数输出 341
  16.3 在函数中使用变量 342
  16.3.1 向函数传递参数 342
  16.3.2 在函数中处理变量 344
  16.4 数组变量和函数 346
  16.4.1 向函数传数组参数 346
  16.4.2 从函数返回数组 348
  16.5 函数递归 349
  16.6 创建库 350
  16.7 在命令行上使用函数 351
  16.7.1 在命令行上创建函数 352
  16.7.2 在.bashrc文件中定义函数 352
  16.8 小结 354
  第17章 图形化桌面上的脚本编程 355
  17.1 创建文本菜单 355
  17.1.1 创建菜单布局 356
  17.1.2 创建菜单函数 356
  17.1.3 添加菜单逻辑 357
  17.1.4 整合shell脚本菜单 358
  17.1.5 使用select命令 359
  17.2 使用窗口 360
  17.2.1 dialog包 361
  17.2.2 dialog选项 366
  17.2.3 在脚本中使用dialog命令 368
  17.3 使用图形 369
  17.3.1 KDE环境 369
  17.3.2 GNOME环境 372
  17.4 小结 376
  第18章 初识sed和gawk 377
  18.1 文本处理 377
  18.1.1 sed编辑器 377
  18.1.2 gawk程序 380
  18.2 sed编辑器基础 385
  18.2.1 更多的替换选项 385
  18.2.2 使用地址 387
  18.2.3 删除行 389
  18.2.4 插入和附加文本 391
  18.2.5 修改行 392
  18.2.6 转换命令 393
  18.2.7 回顾打印 394
  18.2.8 用sed和文件一起工作 396
  18.3 小结 398
  第19章 正则表达式 399
  19.1 什么是正则表达式 399
  19.1.1 定义 399
  19.1.2 正则表达式的类型 400
  19.2 定义BRE模式 401
  19.2.1 纯文本 401
  19.2.2 特殊字符 402
  19.2.3 锚字符 403
  19.2.4 点字符 405
  19.2.5 字符组 405
  19.2.6 排除字符组 407
  19.2.7 使用区间 408
  19.2.8 特殊字符组 409
  19.2.9 星号 409
  19.3 扩展正则表达式 411
  19.3.1 问号 411
  19.3.2 加号 412
  19.3.3 使用花括号 412
  19.3.4 管道符号 413
  19.3.5 聚合表达式 414
  19.4 实用中的正则表达式 414
  19.4.1 目录文件计数 415
  19.4.2 验证电话号码 416
  19.4.3 解析邮件地址 417
  19.5 小结 419
  第20章 sed进阶 420
  20.1 多行命令 420
  20.1.1 next命令 421
  20.1.2 多行删除命令 424
  20.1.3 多行打印命令 424
  20.2 保持空间 425
  20.3 排除命令 426
  20.4 改变流 428
  20.4.1 跳转 429
  20.4.2 测试 430
  20.5 模式替代 431
  20.5.1 and符号 431
  20.5.2 替换单独的单词 432
  20.6 在脚本中使用sed 433
  20.6.1 使用包装脚本 433
  20.6.2 重定向sed的输出 434
  20.7 创建sed实用工具 434
  20.7.1 加倍行间距 434
  20.7.2 对可能含有空白行的文件加倍行间距 435
  20.7.3 给文件中的行编号 436
  20.7.4 打印末尾行 437
  20.7.5 删除行 437
  20.7.6 删除HTML标签 439
  20.8 小结 441
  第21章 gawk进阶 442
  21.1 使用变量 442
  21.1.1 内建变量 442
  21.1.2 自定义变量 447
  21.2 处理数组 449
  21.2.1 定义数组变量 449
  21.2.2 遍历数组变量 450
  21.2.3 删除数组变量 451
  21.3 使用模式 451
  21.3.1 正则表达式 451
  21.3.2 匹配操作符 452
  21.3.3 数学表达式 452
  21.4 结构化命令 453
  21.4.1 if语句 453
  21.4.2 while语句 455
  21.4.3 do-while语句 456
  21.4.4 for语句 457
  21.5 格式化打印 457
  21.6 内建函数 460
  21.6.1 数学函数 460
  21.6.2 字符串函数 461
  21.6.3 时间函数 463
  21.7 自定义函数 463
  21.7.1 定义函数 463
  21.7.2 使用自定义函数 464
  21.7.3 创建函数库 464
  21.8 小结 465
  第22章 使用其他shell 467
  22.1 什么是dash shell 467
  22.2 dash shell的特性 468
  22.2.1 dash命令行参数 468
  22.2.2 dash环境变量 469
  22.2.3 dash内建命令 471
  22.3 dash脚本编程 472
  22.3.1 创建dash脚本 473
  22.3.2 不能使用的功能 473
  22.4 zsh shell 477
  22.5 zsh shell的组成 478
  22.5.1 shell选项 478
  22.5.2 内建命令 480
  22.6 zsh脚本编程 485
  22.6.1 数学运算 485
  22.6.2 结构化命令 487
  22.6.3 函数 487
  22.7 小结 489
  第四部分 高级shell脚本编程主题
  第23章 使用数据库 492
  23.1 MySQL数据库 492
  23.1.1 安装MySQL 492
  23.1.2 MySQL客户端界面 494
  23.1.3 创建MySQL数据库对象 498
  23.2 PostgreSQL数据库 500
  23.2.1 安装PostgreSQL 501
  23.2.2 PostgreSQL命令行界面 501
  23.2.3 创建PostgreSQL数据库对象 503
  23.3 使用数据表 505
  23.3.1 创建数据表 505
  23.3.2 插入和删除数据 507
  23.3.3 查询数据 508
  23.4 在脚本中使用数据库 509
  23.4.1 连接到数据库 509
  23.4.2 向服务器发送命令 511
  23.4.3 格式化数据 514
  23.5 小结 516
  第24章 使用Web 517
  24.1 Lynx程序 517
  24.1.1 安装Lynx 518
  24.1.2 lynx命令行 518
  24.1.3 Lynx配置文件 523
  24.1.4 Lynx环境变量 524
  24.1.5 从Lynx中抓取数据 524
  24.2 cURL程序 527
  24.2.1 安装cURL 527
  24.2.2 探索cURL 527
  24.3 使用zsh处理网络 528
  24.3.1 TCP模块 528
  24.3.2 客户端/服务器模式 529
  24.3.3 使用zsh进行C/S编程 530
  24.4 小结 533
  第25章 使用E-mail 534
  25.1 Linux E-mail基础 534
  25.1.1 Linux中的E-mail 534
  25.1.2 邮件传送代理 535
  25.1.3 邮件投递代理 536
  25.1.4 邮件用户代理 537
  25.2 建立服务器 540
  25.2.1 sendmail 541
  25.2.2 Postfix 543
  25.3 使用Mailx发送消息 545
  25.4 Mutt程序 548
  25.4.1 安装Mutt 548
  25.4.2 Mutt命令行 548
  25.4.3 使用Mutt 549
  25.5 小结 551
  第26章 编写脚本实用工具 552
  26.1 监测磁盘空间 552
  26.1.1 需要的功能 552
  26.1.2 创建脚本 555
  26.1.3 运行脚本 556
  26.2 进行备份 557
  26.3 管理用户账户 563
  26.3.1 需要的功能 563
  26.3.2 创建脚本 569
  26.4 小结 575
  第27章 shell脚本编程进阶 576
  27.1 监测系统统计数据 576
  27.1.1 系统快照报告 576
  27.1.2 系统统计数据报告 582
  27.2 问题跟踪数据库 589
  27.2.1 创建数据库 589
  27.2.2 记录问题 591
  27.2.3 更新问题 594
  27.2.4 查找问题 599
  27.3 小结 602
  附录A bash命令快速指南 604
  附录B sed和gawk快速指南 611
  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值