包也都支持正规表示法的分析,例如邮件服务器的过滤机制
(
过滤垃圾信件
)
就是很重要的一个例子。
所以,您最好要了
½正规表示法的相关技能,在未来管理主机时,才能够更精简处理您的日常事务!
注:本章½使用者需要多加练习,因为目前很多的套件都是使用正规表示法来达成其『过滤、分析』的目的,
为了未来
主机管理的便利性,使用者至少要能看的懂正规表示法的意义!
11.1
开始之前:什么是正规表示法
约略了½了
Linux
的基本指令
(
BASH
)
并且熟悉了
vim
之后,相信你对于敲击键盘的打字与指令下
达比½不陌生了吧?
½下来,底下要开始½绍一个很重要的观念,那就是所谓的『
正规表示法
(Regular Expression)
』啰!
o
什么是正规表示法
任何一个有经验的系统管理员,都会告诉你:『
正规表示法真是挺重要的
!』
为什么很重要呢?
因为日常生活就使用的到啊!举个例子来说,
在你日常使用
vim
作字处理或程序撰写时使用到的
『搜寻
/
取代』等等的功能,
这些举动要作的漂亮,就得要配合正规表示法来处理啰!
简单的说,正规表示法就是处理字符串的方法,他是以行为单位来½行字符串的处理行为,
正规
表示法透过一些特殊符号的辅助,可以让使用者轻易的达到『搜寻
/
删除
/
取代』某特定字符串的处
理程序!
举例来说,我只想找到
VBird(
前面两个大写字符
)
Vbird(
½有一个大写字符
)
这个字样,但是
不要其他的字符串
(
例如
VBIRD, vbird
等不需要
)
,该如何办理?如果在没有正规表示法的环境
(
例如
MS word)
,你或许就得要使用忽略大小写的办法,
或者是分别以
VBird
Vbird
搜寻
两遍。但是,忽略大小写可能会搜寻到
VBIRD/vbird/VbIrD
等等的不需要的字符串而造成困扰。
再举个系统常见的例子好了,假设妳发现系统在开机的时候,老是会出现一个关于
mail
程序的错
误,
而开机过程的相关程序都是在
/lib/systemd/system/
底下,也就是说,在该目录底下的某个文
件内具有
mail
这个关键词,你想要½该文件捉出来½行查询修改的动作。此时你怎么找出来含有
这个关键词的文件?
你当然可以一个文件一个文件的开启,然后去搜寻
mail
这个关键词,只是
.....
该目录底下的文件可能不止
100
个说~
如果了½正规表示法的相关技巧,那么只要一行指令就
找出来啦:『
grep 'mail' /lib/systemd/system/*
那个
grep
就是支持正规表示法的工具程序之一!
如何~很简单吧!
谈到这里就得要½一步说明了,
正规表示法基本上是一种『表示法』,
只要工具程序支持这种表
示法,那么该工具程序就可以用来作为正规表示法的字符串处理之用。
例如
vi, grep, awk ,sed
等工具,因为她们有支持正规表示法,
所以,这些工具就可以使用正规表示法的特殊字符来½行
字符串的处理。但例如
cp, ls
等指令并未支持正规表示法,
所以就只能使用
bash
自己本身的通
配符
而已。
o
正规表示法对于系统管理员的用途
那么为何我需要学习正规表示法呢?对于一般使用者来说,由于使用到正规表示法的机会可能不
怎么多,
因此感受不到他的魅力,不过,对于身为系统管理员的你来说,
正规表示法则是一个『不
可不学的好东西!
怎么说呢?由于系统如果在繁忙的情况之下,每天产生的讯息信息会多到你
无法想象的地步,
而我们也都知道,系统的『
错误讯息登录文件
(
第十八章
)
的内容记载了系
统产生的所有讯息,当然,这包含你的系统是否被『入侵』的记录数据。
但是系统的数据量太大了,要身为系统管理员的你每天去看这么多的讯息数据,
从千百行的资料
里面找出一行有问题的讯息,呵呵~光是用肉眼去看,想不疯掉都很难!
这个时候,我们就可以