失效链接处理 |
Linux命令行与shell脚本编程大全.第3版 PDF 下载
转载自:https://download.csdn.net/download/yekong1225/10748055
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/24013685.html
相关截图:
资料简介:
这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。
资料目录:
第一部分 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 |