禅道博客

分享专业技术知识,文章内容干货满满

《Linux命令行与shell脚本编程大全》第二十五章学习笔记

2023-12-21 15:05:11
胡爱荣
原创 783
摘要:这篇文章是关于《Linux命令行与shell脚本编程大全》第二十五章的学习笔记。主要内容涵盖了使用MySQL数据库和在脚本中操作数据库的方法,以及使用Lynx浏览器和Mailx程序进行Web和电子邮件交互的技巧。

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:在终端上显示投递细节

暂时没有记录
评论通过审核后显示。