作品简介

本书从实际的应用场景出发,深入浅出地介绍了编写 Shell脚本所包含的各项常用技术,使读者在不知不觉中就能掌握 Shell脚本的编写和使用技巧,是 Shell脚本编程开发初学者的绝佳首选。

本书分为 18章,分别介绍了 Linux系统基本知识,Shell编程基础,Shell编程的常用语法知识,如变量、特殊符号、文件处理、分支结构和循环结构、正则表达式、grep命令、sed编辑器、gawk编辑器等,如何对 Shell脚本的执行进行控制和优化,最后通过两个应用实例,加深读者对 Linux系统下 Shell编程的认识,提高读者的编程能力。 本书适用于 Shell编程初学者和 Linux系统管理的初学者,可以作为日常学习的教材,还可以作为日常管理的参考书。

作品目录

  • 前言
  • 第1章 学习Shell的背景知识——Linux系统
  • 1.1 Linux系统基础
  • 1.1.1 Linux系统的发展
  • 1.1.2 Linux系统和Windows系统的区别
  • 1.1.3 Linux的启动过程
  • 1.2 Linux文件系统基础介绍
  • 1.2.1 必须了解的节点inode
  • 1.2.2 Linux系统文件结构
  • 1.3 学会Linux系统的基本使用
  • 1.3.1 系统的登录与退出
  • 1.3.2 系统基本选项配置
  • 1.3.3 文本编辑器的使用
  • 1.4 走进Shell
  • 1.4.1 什么是Shell
  • 1.4.2 Shell在Linux系统中的作用
  • 1.4.3 Shell的种类
  • 1.5 小结
  • 第2章 迈出Shell脚本编程第一步
  • 2.1 Shell脚本语言概述
  • 2.1.1 Shell脚本语言的定义
  • 2.1.2 Shell终端的基本使用
  • 2.1.3 Shell终端菜单的使用
  • 2.2 Shell命令格式介绍
  • 2.2.1 Shell命令格式
  • 2.2.2 命令行界面介绍
  • 2.2.3 如何获取帮助
  • 2.3 第一个Shell程序:Hello,Bash Shell!
  • 2.3.1 创建Shell脚本
  • 2.3.2 Shell脚本中的格式介绍
  • 2.3.3 如何执行Shell程序
  • 2.4 小结
  • 第3章 Shell常用命令大演练
  • 3.1 Shell命令使用基础
  • 3.1.1 文件类型
  • 3.1.2 绝对路径和相对路径
  • 3.1.3 文件属性和文件权限
  • 3.1.4 用户和用户组
  • 3.1.5 特殊目录介绍
  • 3.2 用户和用户组管理
  • 3.2.1 用户管理常用命令
  • 3.2.2 用户组管理常用命令
  • 3.2.3 其他常用命令
  • 3.3 文件和目录操作
  • 3.3.1 文件操作常用命令
  • 3.3.2 目录操作常用命令
  • 3.3.3 文件权限管理常用命令
  • 3.3.4 查找文件常用命令
  • 3.4 系统管理相关
  • 3.4.1 网络操作常用命令
  • 3.4.2 系统资源管理常用命令
  • 3.4.3 磁盘信息查看常用命令
  • 3.5 小结
  • 第4章 Shell脚本中的变量
  • 4.1 变量的简单使用
  • 4.1.1 变量的使用
  • 4.1.2 变量的输入和输出
  • 4.1.3 变量的输出命令echo
  • 4.2 Shell中特殊变量的使用
  • 4.2.1 位置参数介绍
  • 4.2.2 $@和$*的区别
  • 4.3 环境变量的使用
  • 4.3.1 Shell中的环境变量
  • 4.3.2 环境变量的配置文件
  • 4.3.3 全局环境变量和本地环境变量
  • 4.3.4 环境变量的设定
  • 4.3.5 环境变量的取消
  • 4.4 小结
  • 第5章 Shell脚本中的特殊符号
  • 5.1 引号的使用
  • 5.1.1 单引号的使用
  • 5.1.2 双引号的使用
  • 5.1.3 倒引号的使用
  • 5.2 通配符和元字符
  • 5.2.1 使用通配符
  • 5.2.2 使用元字符
  • 5.3 管道
  • 5.4 其他特殊字符介绍
  • 5.4.1 后台运行符
  • 5.4.2 括号
  • 5.4.3 分号
  • 5.5 小结
  • 第6章 Linux中的文件处理
  • 6.1 Linux中的文件类型
  • 6.1.1 设备文件
  • 6.1.2 设备文件的挂载和卸载
  • 6.1.3 链接文件
  • 6.1.4 文件描述符
  • 6.2 标准输入、输出与错误
  • 6.2.1 标准输入
  • 6.2.2 标准输出和标准错误
  • 6.3 重定向
  • 6.3.1 重定向的定义
  • 6.3.2 输入重定向
  • 6.3.3 输出重定向
  • 6.4 合并标准输出和标准错误
  • 6.5 小结
  • 第7章 Shell脚本中的分支结构
  • 7.1 测试命令的使用
  • 7.1.1 测试命令的基础结构
  • 7.1.2 测试文件类型
  • 7.1.3 测试字符串
  • 7.1.4 测试数值
  • 7.1.5 复合测试条件
  • 7.2 if分支结构
  • 7.2.1 if-then结构
  • 7.2.2 if-then-else结构
  • 7.2.3 嵌套结构
  • 7.3 case多条件分支结构
  • 7.3.1 case结构基础
  • 7.3.2 在Shell 脚本中使用case 结构
  • 7.3.3 select命令的使用
  • 7.4 小结
  • 第8章 Shell中的循环结构
  • 8.1 for循环
  • 8.1.1 使用for-in结构
  • 8.1.2 C式for结构
  • 8.2 while命令的使用
  • 8.2.1 使用while结构
  • 8.2.2 多条件的while结构
  • 8.2.3 使用until命令
  • 8.3 命令的嵌套
  • 8.3.1 for命令的嵌套
  • 8.3.2 while命令的嵌套
  • 8.3.3 until命令的嵌套
  • 8.4 循环控制符
  • 8.4.1 使用break中断
  • 8.4.2 使用continue继续
  • 8.5 小结
  • 第9章 Shell中的函数
  • 9.1 函数的基本用法
  • 9.1.1 函数的创建与使用
  • 9.1.2 函数的参数
  • 9.2 函数的返回值
  • 9.2.1 返回值基础
  • 9.2.2 函数的默认返回值
  • 9.2.3 return命令的使用
  • 9.2.4 使用函数的返回值
  • 9.3 函数中的全局变量和局部变量
  • 9.3.1 全局变量
  • 9.3.2 局部变量
  • 9.4 数组与函数
  • 9.4.1 数组作为函数参数
  • 9.4.2 数组作为函数返回值
  • 9.5 脚本函数递归
  • 9.6 函数的嵌套调用
  • 9.7 小结
  • 第10章 Shell脚本编写技巧
  • 10.1 脚本编写规范
  • 10.1.1 命名规范
  • 10.1.2 注释风格
  • 10.1.3 其他需要注意的规范
  • 10.2 脚本优化
  • 10.2.1 Shell脚本优化原则
  • 10.2.2 提供足够的提示信息
  • 10.3 脚本使用技巧
  • 10.3.1 命令选项说明
  • 10.3.2 算术运算
  • 10.3.3 高级算术运算
  • 10.4 小结
  • 第11章 正则表达式
  • 11.1 正则表达式基础
  • 11.1.1 正则表达式的定义
  • 11.1.2 正则表达式的分类
  • 11.2 基本正则表达式的常用符号
  • 11.2.1 使用点字符匹配单字符
  • 11.2.2 使用定位符
  • 11.2.3 使用“*”匹配字符串中的单字符或其重复序列
  • 11.2.4 使用“”屏蔽一个特殊字符的含义
  • 11.3 扩展正则表达式的常用符号
  • 11.3.1 使用“[]”匹配一个范围或集合
  • 11.3.2 使用“{}”匹配模式结果出现的次数
  • 11.3.3 问号的使用
  • 11.4 小结
  • 第12章 Shell中的文本搜索工具——grep家族
  • 12.1 grep的基础使用
  • 12.1.1 grep命令的基本使用方式
  • 12.1.2 grep选项
  • 12.1.3 行数
  • 12.1.4 大小写敏感
  • 12.1.5 显示非匹配行
  • 12.1.6 查询多个文件或多个关键字
  • 12.2 grep和正则表达式
  • 12.2.1 模式范围以及范围组合
  • 12.2.2 定位符的使用
  • 12.2.3 字符匹配
  • 12.2.4 模式出现几率
  • 12.2.5 匹配特殊字符
  • 12.3 grep命令的扩展使用
  • 12.3.1 类名的使用
  • 12.3.2 egrep命令的使用
  • 12.3.3 fgrep命令的使用
  • 12.4 grep命令使用实例
  • 12.4.1 目录搜索——查找特定目录或文字
  • 12.4.2 使用ps命令检索特定的进程
  • 12.5 小结
  • 第13章 sed编程
  • 13.1 认识sed
  • 13.1.1 sed工作模式
  • 13.1.2 sed常用指令
  • 13.1.3 sed常用选项
  • 13.1.4 sed地址范围
  • 13.2 sed编辑器常用命令
  • 13.2.1 替换命令的使用
  • 13.2.2 删除命令的使用
  • 13.2.3 文本的添加和替换
  • 13.3 高级sed编程
  • 13.3.1 同时处理多行数据
  • 13.3.2 sed编辑器的空间
  • 13.3.3 sed编辑器的反向
  • 13.3.4 重定向sed的输出
  • 13.4 小结
  • 第14章 gawk编程
  • 14.1 gawk概述
  • 14.1.1 gawk基本介绍
  • 14.1.2 gawk基本使用
  • 14.2 变量的使用
  • 14.2.1 内置变量的使用
  • 14.2.2 自定义变量的使用
  • 14.2.3 数组的使用
  • 14.3 结构的使用
  • 14.3.1 条件结构的使用
  • 14.3.2 循环结构的使用
  • 14.3.3 循环结构控制语句
  • 14.4 函数的使用
  • 14.4.1 算术函数的使用
  • 14.4.2 字符串处理函数的使用
  • 14.4.3 时间函数的使用
  • 14.5 小结
  • 第15章 脚本控制
  • 15.1 Linux信号控制
  • 15.1.1 Linux信号机制简介
  • 15.1.2 使用Shell脚本操作信号
  • 15.2 进程的控制
  • 15.2.1 后台运行符介绍
  • 15.2.2 运行进程的控制
  • 15.2.3 nohup命令的使用
  • 15.3 脚本运行的优先级
  • 15.3.1 优先级介绍
  • 15.3.2 使用nice指定优先级
  • 15.3.3 使用renice重置优先级
  • 15.4 小结
  • 第16章 脚本运行的优化
  • 16.1 添加窗口
  • 16.1.1 dialog软件的安装
  • 16.1.2 dialog命令的帮助选项
  • 16.1.3 dialog命令的使用
  • 16.2 dialog常用窗口的使用
  • 16.2.1 消息窗口
  • 16.2.2 yesno窗口
  • 16.2.3 文本框的使用
  • 16.2.4 菜单的使用
  • 16.3 颜色的使用
  • 16.4 创建菜单
  • 16.4.1 在Shell脚本中创建菜单
  • 16.4.2 创建子菜单函数
  • 16.4.3 脚本的整合
  • 16.5 小结
  • 第17章 Shell实战之系统管理
  • 17.1 系统监测
  • 17.1.1 系统监控基础
  • 17.1.2 Ubuntu自带的系统监控工具
  • 17.1.3 监控脚本的编写
  • 17.2 计划任务的实现
  • 17.2.1 at命令的使用
  • 17.2.2 atq命令的使用
  • 17.2.3 cron的使用
  • 17.3 网络管理
  • 17.3.1 网络配置
  • 17.3.2 服务器的安装
  • 17.4 日志管理
  • 17.4.1 日志简介
  • 17.4.2 守护进程syslogd
  • 17.4.3 日志的备份操作
  • 17.4.4 日志的定时操作
  • 17.5 小结
  • 第18章 Shell实战之数据库操作
  • 18.1 Linux系统中的数据库
  • 18.1.1 SQLite简介
  • 18.1.2 SQLite的图形化操作
  • 18.1.3 MySQL简介
  • 18.2 SQL语句
  • 18.2.1 SQL语言基本介绍
  • 18.2.2 基本的SQL操作
  • 18.2.3 在Shell脚本中执行SQL语句
  • 18.3 图书管理系统中数据库操作实例
  • 18.3.1 数据库操作基本流程
  • 18.3.2 创建表
  • 18.3.3 增加图书信息
  • 18.3.4 修改图书信息
  • 18.3.5 删除图书信息
  • 18.4 小结
展开全部