• 免费电子书下载
  • 为中华之崛起而读书!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏读书小屋吧

Linux Command Line and Shell Scripting Bible – Richard Blum

科技 admin 3年前 (2021-11-22) 219次浏览

:/出版社:人民邮电出版社原作名:LinuxCommandLineandShellScriptingBible,SecondEdition:出版年:2012-9页数:619定价:99.00元装帧:平装丛书:图灵程序设计丛书·Linux/UNIX系列ISBN:9787115288899

内容简介

Richard Blum 系统和网络管理员,已经在IT行业工作了22年多。他管理过UNIX、Linux、Novell和微软服务器,用Linux shell脚本进行过自动化网络监测,并在大多数常见的Linux shell环境中写过脚本。他还是一名网络课程讲师,美国各地的多所大学和学院都采用他的Linux基础课程。除本书外,Richard还著有Professional Linux Programming等书。

Christine Bresnahan 系统管理员,已经在IT行业工作了近30年。目前在印第安纳波利斯市的常春藤技术社区学院担任兼职教授,讲授Linux系统管理、Linux安全和Windows安全等课程。

武海峰 Linux系统工程师,兴趣集中在GNU/Linux和移动互联应用,热衷于开源软件。曾在商业Linux厂商任职,从事移动设备操作系统集成和商业Linux发行版集成工作。

目录

目  录 第一部分 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 · · · · · · (收起)文件下载


本站所有压缩文件密码均为dushuxiaowu.com,本站所有资源收集于网络,只做学习和交流使用,版权归原作者所有,若为付费内容,请在下载后24小时之内自觉删除,若作商业用途请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关,本站发布的内容若侵犯到您的权益,请联系邮箱 dushurener#gmail.com 删除,我们将及时处理!
喜欢 (0)