《Linux命令行与shell脚本编程大全》第二十五章学习笔记
原创- 2023-12-21 15:05:11
- 1010
本篇目录
1. MySql数据库
1.1 使用MySql
连接到服务器:mysql -u root -p
mysql命令
mysql程序使用2种不同类型的命令:特殊的mysql命令和标准SQL语句。
mysql命令提示符中可以使用命令的完整形式或简形式,如status(或\s)
mysql程序实现了MySQL服务器支持的所有标准SQL(Structured Query Language,结构化查询语言)命令。
创建数据库
创建用户账户
GRANT SELECT, INSERT, DELETE, UPDATE ON test.* TO test IDENTIFIED by 'test';
该条语句允许用户查询数据库数据、插入新的数据记录以及删除和更新已有数据记录,若用户不存在,grant命令会创建,identified by 部分为新用户账户设定默认密码。
创建数据表
empid数据字段指定了数据约束,数据约束会限制输入什么类型数据可以创建一个幼小的记录
插入和删除数据
INSERT语句格式:
INSERT INTO table VALUES (...);
DELETE语句格式:
DELETE FROM table;
该命令会删除该表中的所有记录,想要删除其中的指定数据行,必须用where子句。
查询数据
SELECT语句格式:
SELECT datafields FROM table;
datafields参数是一个用逗号分开的数据字段名称列表,指明了希望查询返回的字段。默认情况下,SELECT语句会返回指定表中的所有记录。
常用的命令修饰符如下:
- WHERE:显示符合特定条件的数据行子集。
- ORDER BY:以指定顺序显示数据行。
- LIMIT:只显示数据行的一个子集。
1.2 在脚本中使用数据库
登录到服务器
mysql程序使用$HOME/.my.cnf文件来读取特定的启动命令和设置,其中一项设置就是用户启动的mysql会话的默认密码。
向服务器发送命令
在和服务器建立连接后,就可以向数据库发送命令进行交互,有以下两种方法:
1) 发送单个命令并退出;
2) 发送多个命令。
发送单个命令示例如下,要使用-e选项。
若要发送多条SQL命令,可以使用文件重定向。下面的例子中shell会将EOF分隔符之间的多行内容重定向给mysql命令,mysql会执行这些命令。
格式化数据
提取数据库数据的第一步是将mysql命令的输出重定向到一个环境变量中,下面的例子中用到了2个参数,-B指定了mysql程序工作在批处理模块运行,-s用于禁止输出列标题和格式化符号。
mysql程序还支持另外一种叫作可扩展标记语言(Extensive Markup Language,XML)的流行格式。这种语言使用和HTML类似的标签来标识数据名和值。对于mysql程序可以使用-X命令行选项来输出。
2. 使用Web
Lynx使用标准键盘按键浏览网页,链接会在Web页面上以高亮文本的形式出现,使用向右方向键可以跟随一个链接到下一个Web页面。Lynx程序还提供了一个功能,允许你将Web页面的文本内容转储到STDOUT中。
安装Lynx
sudo apt install lynx
lynx命令行
Web页面由3种类型的数据组成
1) HTTP头部
2) Cookie
3) HTML内容
Lynx程序支持三种不同的格式来查看Web页面实际的HTML内容:
1) 在终端会话中利用curses图形库显示文本图形;
2) 文本文件,文件内容是从Web页面中转储的原始数据;
3) 文本文件,文件内容是从Web页面中转储的原始HTML源码。
lynx命令的基本格式:lynx options URL,其中URL是你要连接的HTTP或HTTPS地址,options则是一个或多个选项。
Lynx配置文件
lynx配置文件默认情况下,位于/usr/local/lib/lynx.cfg,有许多Linux发行版将其改放到了/etc目录下(/etc/lynx.cfg)(Ubuntu 发行版将lynx.cfg放到了/etc/lynx-curl目录中)。
配置文件中条目的格式为:
PARAMETER:value
其中PARAMETER是参数的全名(通常都是用大写字母),value是跟参数关联的值。
注意:不能在命令行上设置的配置参数是代理服务器。
3. 使用电子邮件
用来从shell脚本中发送电子邮件的主要工具是Mailx程序。不仅可以用它交互地读取和发 送消息,还可以用命令行参数指定如何发送消息。
Mailx程序发送消息的命令行的格式为:
mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr
mail命令行参数:
-a:指定额外的SMTP头部行
-b:给消息增加一个BCC:收件人
-c:给消息增加一个CC:收件人
-e:如果消息为空,不要发送消息
-i:忽略TTY中断信号
-I:强制Mailx以交互模式运行
-n:不要读取/etc/mail.rc启动文件
-s:指定一个主题行
-v:在终端上显示投递细节