linux命令行和shell脚本编程宝典是一本linux系统命令行和shell脚本编程手册,由美国系统网络管理员Richard Blum编著。本书基础部分需要学习的内容很多,不仅简明扼要的介绍了开源linux软件的结构,并且展示了如何摒弃笨重的linux图形用户界面,而使用一种更加快速而有效的方式——命令行和自动化脚本。你将学习如何在不使用GUI的情况下管理文件系统的文件,启动和终止程序,使用数据库,甚至执行Web编程。linux命令行和shell脚本编程宝典详细的介绍了linux桌面和各种命令行参数,介绍了文件系统导航、文件处理、bash shell命令的基础,管理嵌套结构化命令,使用sed、gawk和正则表达式等等,适用于linux系统的学员阅读。
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
收起介绍展开介绍
内容介绍
Linux系统中,命令和shell脚本是非常重要的内容,它们的功能非常强大,使用它们可以完成各种操作。Linux命令行和sheell脚本编程宝典分为5部分。第1部分介绍Linux shell的基础知识;第2部分介绍shell脚本;第3部分介绍shell脚本编程的高级内容;第4部分介绍如何使用Linux环境中的各种shell编写shell脚本;第5部分演示如何在实际情况中使用shell脚本。本书非常全面地介绍了Linux命令行和shell命令,并且提供了很多实践教程和实例应用程序信息,为学习的内容提供了相关环境,是Linux的爱好者以及Linux系统管理员的首选。章节目录
第1部分 Linux命令行 第1章 Linux shell入门 3 1.1 什么是Linux 3 1.1.1 深入研究Linux内核 4 1.1.2 GNU实用程序 9 1.1.3 Linux桌面环境 10 1.2 Linux发行版 13 1.2.1 核心Linux发行版 13 1.2.2 特定Linux发行版 14 1.2.3 Linux LiveCD 14 1.3 小结 15 第2章 了解shell 17 2.1 终端模拟 17 2.1.1 图形功能 18 2.1.2 键盘 20 2.2 terminfo数据库 21 2.3 Linux控制台 23 2.4 xterm终端 24 2.4.1 命令行参数 24 2.4.2 xterm主菜单 25 2.4.3 VT选项菜单 26 2.4.4 VT字体菜单 28 2.5 Konsole终端 29 2.5.1 命令行参数 29 2.5.2 会话 30 2.5.3 菜单栏 31 2.6 GNOME终端 34 2.6.1 命令行参数 34 2.6.2 选项卡 35 2.6.3 菜单栏 35 2.7 小结 37 第3章 基本的bash shell命令 38 3.1 启动shell 38 3.2 shell提示符 39 3.3 bash手册 40 3.4 文件系统导航 41 3.4.1 Linux文件系统 41 3.4.2 浏览目录 43 3.5 文件和目录列表 44 3.5.1 基本列表 44 3.5.2 修改显示的信息 45 3.5.3 完整的参数列表 46 3.5.4 过滤列表输出 48 3.6 文件处理 48 3.6.1 创建文件 48 3.6.2 复制文件 49 3.6.3 链接文件 50 3.6.4 重命名文件 51 3.6.5 删除文件 52 3.7 目录处理 53 3.7.1 创建目录 53 3.7.2 删除目录 53 3.8 查看文件内容 54 3.8.1 查看文件统计数据 54 3.8.2 查看文件类型 54 3.8.3 查看整个文件 55 3.8.4 查看部分文件 57 3.9 小结 58 第4章 更多bash shell命令 59 4.1 监控程序 59 4.1.1 进程查看 59 4.1.2 实时进程监控 64 4.1.3 停止进程 66 4.2 监控磁盘空间 67 4.2.1 挂载介质 68 4.2.2 使用df命令 70 4.2.3 使用du命令 71 4.3 操作数据文件 71 4.3.1 数据排序 72 4.3.2 搜索数据 74 4.3.3 压缩数据 75 4.3.4 归档数据 78 4.4 小结 79 第5章 使用Linux环境变量 80 5.1 什么是环境变量 80 5.1.1 全局环境变量 80 5.1.2 本地环境变量 81 5.2 设置环境变量 83 5.2.1 设置本地环境变量 83 5.2.2 设置全局环境变量 84 5.3 移除环境变量 84 5.4 默认的shell环境变量 85 5.5 设置PATH环境变量 87 5.6 定位系统环境变量 88 5.6.1 登录shell 88 5.6.2 交互式shell 90 5.6.3 非交互式shell 92 5.7 变量数组 92 5.8 使用命令别名 93 5.9 小结 94 第6章 理解Linux文件权限 96 6.1 Linux安全性 96 6.1.1 /etc/passwd文件 96 6.1.2 /etc/shadow文件 98 6.1.3 添加新用户 98 6.1.4 删除用户 100 6.1.5 修改用户 100 6.2 使用Linux用户组 102 6.2.1 /etc/group文件 103 6.2.2 创建新用户组 103 6.2.3 修改用户组 104 6.3 解码文件权限 104 6.3.1 使用文件权限符号 105 6.3.2 默认文件权限 105 6.4 修改安全设置 107 6.4.1 修改权限 107 6.4.2 修改所有者 108 6.5 共享文件 108 6.6 小结 109 第7章 使用编辑器 111 7.1 vim编辑器 111 7.1.1 vim基本用法 111 7.1.2 编辑数据 113 7.1.3 复制和粘贴 113 7.1.4 搜索和替换 114 7.2 emacs编辑器 114 7.2.1 在控制台中使用emacs 114 7.2.2 在X Windows中使用emacs 118 7.3 KDE系列编辑器 119 7.3.1 KWrite编辑器 119 7.3.2 Kate编辑器 121 7.4 GNOME编辑器 124 7.4.1 启动gedit 124 7.4.2 基本gedit特性 125 7.4.3 设置首选项 125 7.5 小结 128 第2部分 shell脚本的基础知识 第8章 基本脚本编译 131 8.1 使用多条命令 131 8.2 创建脚本文件 131 8.3 显示消息 133 8.4 使用变量 134 8.4.1 环境变量 134 8.4.2 用户变量 135 8.4.3 反引号 136 8.5 重定向输入输出 137 8.5.1 输出重定向 137 8.5.2 输入重定向 137 8.6 管道 138 8.7 数学计算 140 8.7.1 expr命令 140 8.7.2 使用括号 141 8.7.3 浮点解决方案 142 8.8 退出脚本 145 8.8.1 核对退出状态 145 8.8.2 退出命令 146 8.9 小结 147 第9章 使用结构化命令 148 9.1 使用if-then语句 148 9.2 if-then-else语句 150 9.3 嵌套if语句 150 9.4 test命令 151 9.4.1 数值比较 151 9.4.2 字符串比较 152 9.4.3 文件比较 155 9.5 复合条件检查 161 9.6 if-then的高级特征 161 9.6.1 使用双圆括号 162 9.6.2 使用双方括号 162 9.7 case命令 163 9.8 小结 164 第10章 更多结构化命令 165 10.1 for命令 165 10.1.1 读取列表中的值 165 10.1.2 读取列表中的复杂值 166 10.1.3 从变量读取列表 168 10.1.4 读取命令中的值 168 10.1.5 改变字段分隔符 169 10.1.6 使用通配符读取目录 170 10.2 C式的for命令 171 10.2.1 C语言中的for命令 171 10.2.2 使用多个变量 172 10.3 while命令 173 10.3.1 while的基本格式 173 10.3.2 使用多条测试命令 174 10.4 until命令 175 10.5 嵌套循环 176 10.6 文件数据的循环 178 10.7 控制循环 178 10.7.1 break命令 179 10.7.2 continue命令 181 10.8 处理循环的输出 183 10.9 小结 184 第11章 处理用户输入 185 11.1 命令行参数 185 11.1.1 读取参数 185 11.1.2 读取程序名称 187 11.1.3 测试参数 188 11.2 特殊的参数变量 188 11.2.1 参数计数 188 11.2.2 获取所有数据 190 11.3 移位 190 11.4 处理选项 191 11.4.1 找出选项 191 11.4.2 使用getopt命令 194 11.4.3 更高级的getopts命令 196 11.5 标准化选项 197 11.6 获取用户输入 198 11.6.1 基本读取 198 11.6.2 计时 199 11.6.3 默读 200 11.6.4 读取文件 200 11.7 小结 201 第12章 显示数据 202 12.1 了解输入和输出 202 12.1.1 标准文件描述符 202 12.1.2 重定向错误 204 12.2 在脚本中重定向输出 205 12.2.1 临时重定向 205 12.2.2 永久重定向 206 12.3 在脚本中重定向输入 207 12.4 创建自己的重定向 207 12.4.1 创建输出文件描述符 207 12.4.2 重定向文件描述符 208 12.4.3 创建输入文件描述符 208 12.4.4 创建读取/写入文件描述符 209 12.4.5 关闭文件描述符 210 12.5 列出开放文件描述符 210 12.6 禁止命令输出 212 12.7 使用临时文件 212 12.7.1 创建本地临时文件 213 12.7.2 在/temp中创建临时文件 213 12.7.3 创建临时目录 214 12.8 记录消息 215 12.9 小结 216 第13章 脚本控制 217 13.1 处理信号 217 13.1.1 Linux信号回顾 217 13.1.2 生成信号 218 13.1.3 捕获信号 219 13.1.4 捕获脚本退出 220 13.1.5 移除捕获 220 13.2 以后台模式运行脚本 221 13.2.1 以后台模式运行 221 13.2.2 运行多个后台作业 222 13.2.3 退出终端 222 13.3 在不使用控制台的情况下运行脚本 222 13.4 作业控制 223 13.4.1 查看作业 223 13.4.2 重新启动停止的作业 225 13.5 变得更好 225 13.5.1 nice命令 226 13.5.2 renice命令 226 13.6 准确无误地运行 227 13.6.1 使用at命令调度作业 227 13.6.2 使用batch命令 229 13.6.3 调度定期脚本 229 13.7 从头开始 230 13.7.1 在启动时启动脚本 231 13.7.2 随新shell一起启动 232 13.8 小结 232 第3部分 高级shell脚本编程 第14章 创建函数 235 14.1 基本脚本函数 235 14.1.1 创建函数 235 14.1.2 使用函数 236 14.2 返回值 237 14.2.1 默认退出状态 237 14.2.2 使用return命令 238 14.2.3 使用函数输出 239 14.3 在函数中使用变量 239 14.3.1 向函数传递参数 240 14.3.2 在函数中处理变量 241 14.4 数组变量与函数 243 14.4.1 向函数传递数组 243 14.4.2 从函数返回数组 244 14.5 函数递归 245 14.6 创建库 246 14.7 在命令行中使用函数 247 14.7.1 在命令行创建函数 247 14.7.2 在.bashrc文件中定义函数 248 14.8 小结 249 第15章 在脚本中添加颜色 250 15.1 创建文本菜单 250 15.1.1 创建菜单布局 250 15.1.2 创建菜单函数 251 15.1.3 添加菜单逻辑 252 15.1.4 将其全部组合在一起 252 15.1.5 使用select命令 253 15.2 添加颜色 254 15.2.1 ANSI转义码 254 15.2.2 显示ANSI转义码 255 15.2.3 在脚本中使用颜色 256 15.3 制作窗口 257 15.3.1 dialog软件包 257 15.3.2 dialog选项 261 15.3.3 在脚本中使用dialog命令 263 15.4 获取图形 265 15.4.1 KDE环境 265 15.4.2 GNOME环境 267 15.5 小结 270 第16章 sed和gawk介绍 271 16.1 文本处理 271 16.1.1 sed编辑器 271 16.1.2 gawk程序 273 16.2 sed编辑器基础知识 278 16.2.1 更多替换选项 278 16.2.2 使用地址 279 16.2.3 删除行 281 16.2.4 插入和附加文本 282 16.2.5 更改行 283 16.2.6 变换命令 284 16.2.7 打印命令温习 284 16.2.8 将文件用于sed 286 16.3 小结 288 第17章 正则表达式 289 17.1 正则表达式是什么 289 17.1.1 正则表达式的定义 289 17.1.2 正则表达式的类型 290 17.2 定义BRE模式 290 17.2.1 纯文本 290 17.2.2 特殊字符 291 17.2.3 定位符 292 17.2.4 点字符 293 17.2.5 字符类 294 17.2.6 否定字符类 295 17.2.7 使用范围 296 17.2.8 特殊字符类 296 17.2.9 星号 297 17.3 扩展的正则表达式 298 17.3.1 问号 298 17.3.2 加号 299 17.3.3 使用大括号 299 17.3.4 管道符号 300 17.3.5 将表达式分组 300 17.4 正则表达式实战 301 17.4.1 计算目录文件 301 17.4.2 验证电话号码 302 17.4.3 解析电子邮件地址 303 17.5 小结 304 第18章 高级sed编程 306 18.1 多行命令 306 18.1.1 next命令 306 18.1.2 多行删除命令 309 18.1.3 多行打印命令 310 18.2 保留空间 310 18.3 否定命令 311 18.4 更改命令流 313 18.4.1 分支 313 18.4.2 测试 314 18.5 模式替换 315 18.5.1 与号 315 18.5.2 替换个别单词 315 18.6 在脚本中使用sed 316 18.6.1 使用包装器 316 18.6.2 重定向sed输出 317 18.7 创建sed工具 317 18.7.1 双倍行距 318 18.7.2 对可能有空行的文件使用双倍行距 318 18.7.3 对文件中的行记数 319 18.7.4 打印最后几行 319 18.7.5 删除行 320 18.7.6 删除HTML标记 322 18.8 小结 323 第19章 高级gawk编程 324 19.1 使用变量 324 19.1.1 内置变量 324 19.1.2 用户定义的变量 328 19.2 使用数组 329 19.2.1 定义数组变量 329 19.2.2 在数组变量中递归 330 19.2.3 删除数组变量 330 19.3 使用模式 331 19.3.1 正则表达式 331 19.3.2 匹配操作符 331 19.3.3 数学表达式 332 19.4 结构化命令 332 19.4.1 if语句 333 19.4.2 while语句 334 19.4.3 do-while语句 335 19.4.4 for语句 335 19.5 格式化打印 335 19.6 内置函数 337 19.6.1 数学函数 337 19.6.2 字符串函数 338 19.6.3 时间函数 339 19.7 用户定义的函数 340 19.7.1 定义函数 340 19.7.2 使用自己的函数 340 19.7.3 创建函数库 341 19.8 小结 341 第4部分 可选的Linux shell 第20章 ash shell 345 20.1 什么是ash shell 345 20.2 原始ash shell 346 20.2.1 原始ash命令行参数 346 20.2.2 原始ash内置命令 347 20.2.3 ash shell文件 349 20.3 dash shell 349 20.3.1 dash命令行参数 349 20.3.2 dash环境变量 350 20.3.3 dash内置命令 352 20.4 在dash中编写脚本 355 20.4.1 创建ash和dash脚本 355 20.4.2 失效的特性 355 20.5 小结 359 第21章 tcsh shell 360 21.1 什么是tcsh shell 360 21.2 tcash shell的组成部分 360 21.2.1 tcsh命令行参数 361 21.2.2 tcsh文件 361 21.2.3 tcsh登录文件 362 21.2.4 shell启动文件 362 21.2.5 退出文件 363 21.2.6 tcsh环境变量 364 21.2.7 shell变量 364 21.2.8 环境变量 367 21.2.9 在tcsh中设置变量 369 21.2.10 使用set命令 369 21.2.11 使用setenv命令 369 21.2.12 tcsh内置命令 370 21.3 在tcsh中编写脚本 372 21.3.1 处理变量 372 21.3.2 数组变量 372 21.3.3 处理数学运算 372 21.3.4 结构化命令 373 21.3.5 if语句 373 21.3.6 foreach语句 375 21.3.7 while语句 375 21.3.8 switch命令 375 21.4 小结 376 第22章 Korn shell 378 22.1 Korn shell的历史 378 22.2 ksh93 shell的组成部分 378 22.2.1 命令行参数 379 22.2.2 默认文件 380 22.2.3 环境变量 380 22.2.4 内置命令 385 22.3 在ksh93 shell中编写脚本 387 22.3.1 数学运算 387 22.3.2 结构化命令 389 22.3.3 命令重定向 391 22.3.4 规程函数 391 22.4 小结 392 第23章 zsh shell 393 23.1 zsh shell的历史 393 23.2 zsh shell的组成部分 393 23.2.1 shell选项 394 23.2.2 zsh shell文件 396 23.2.3 环境变量 398 23.2.4 内置命令 401 23.3 使用zsh编写脚本 405 23.3.1 数学运算 405 23.3.2 结构化命令 406 23.3.3 函数 406 23.4 小结 408 第5部分 高级主题 第24章 使用数据库 411 24.1 MySQL数据库 411 24.1.1 安装MySQL 411 24.1.2 完成MySQL配置 413 24.1.3 MySQL客户端接口 414 24.1.4 创建MySQL数据库对象 417 24.2 PostgreSQL数据库 419 24.2.1 安装PostgreSQL 419 24.2.2 PostgreSQL命令接口 421 24.2.3 创建PostgreSQL数据库对象 422 24.3 处理表 424 24.3.1 创建表 424 24.3.2 插入和删除数据 425 24.3.3 查询数据 426 24.4 在脚本中使用数据库 427 24.4.1 连接到数据库 427 24.4.2 向服务器发送命令 428 24.4.3 格式化数据 431 24.5 小结 432 第25章 使用Web 433 25.1 Lynx程序 433 25.1.1 安装Lynx 434 25.1.2 Lynx命令行 434 25.1.3 Lynx配置文件 438 25.1.4 Lynx环境变量 439 25.1.5 从Lynx捕获数据 439 25.2 cURL程序 441 25.2.1 安装cURL 441 25.2.2 cURL命令行 442 25.2.3 研究curl 444 25.3 使用zsh连接网络 445 25.3.1 TCP模块 445 25.3.2 客户端/服务器模型 446 25.3.3 使用zsh进行客户端/服务器编程 446 25.4 小结 449 第26章 使用电子邮件 450 26.1 Linux电子邮件基础知识 450 26.1.1 Linux中的电子邮件 450 26.1.2 邮件传输代理 451 26.1.3 邮件分发代理 452 26.1.4 邮件用户代理 452 26.2 设置服务器 454 26.2.1 sendmail 455 26.2.2 Postfix 456 26.3 使用Mailx发送消息 459 26.4 Mutt程序 461 26.4.1 安装Mutt 461 26.4.2 Mutt命令行 462 26.4.3 使用Mutt 462 26.5 小结 463 第27章 管理员使用的shell脚本 465 27.1 监视系统统计信息 465 27.1.1 监视磁盘空闲空间 465 27.1.2 谁在霸占磁盘资源 467 27.1.3 监视CPU和内存使用情况 469 27.2 执行备份 474 27.2.1 归档数据文件 474 27.2.2 脱机存储备份文件 477 27.3 小结 478 附录A bash命令快速指南 479 A.1 内置命令 479 A.2 bash命令 480 A.3 环境变量 481 附录B sed和gawk快速指南 484 B.1 sed编辑器 484 B.1.1 启动sed编辑器 484 B.1.2 sed命令 484 B.2 gawk程序 487 B.2.1 gawk命令格式 487 B.2.2 使用gawk 487 B.2.3 gawk变量 488 B.2.4 gawk程序功能 489 附录C shell版本比较 491 C.1 变量 491 C.1.1 环境变量 491 C.1.2 用户定义的变量 491 C.1.3 数组变量 492 C.2 结构化命令 492 C.2.1 if-then、while和until语句 492 C.2.2 for语句 493 C.3 数学计算 493
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
发表评论
0条评论软件排行榜
热门推荐
- 南方Plus电脑版 v11.8.027.22M / 简体中文
- 有柿电脑版 v11.5.684.06M / 简体中文
- 得间免费小说电脑版 v5.2.7.172.56M / 简体中文
- 网易新闻电脑版 v112.697.63M / 简体中文
- 潇湘书院电脑版 v2.3.11.888官方版49.65M / 简体中文
- 数据挖掘导论 官方版61.61M / 简体中文
- 开源阅读电脑版 v3.2517.96M / 简体中文
- 京东读书电脑版 v1.13.4官方版1.98M / 简体中文
- linux常用命令大全 chm版1.48M / 简体中文
- 本草纲目 5.34M / 简体中文