一个人的战场,身边的人都走了,我依然还在更文!
为什么要学习正规表示法
是 Linux 基础当中的基础,虽然也是最难的部分,就好像是金庸小说里面的学武难关:任督二脉!
正规表示法与文件格式化处理
正规表示法用于搜寻、替代、删除一列或多列文字字符串
什么是正规表示法
正规表示法分为 基础正规表示法、延伸正规表示法。
grep 的一些进阶选项和基础正规表示法字符汇整 (characters)
grep [-A] [-B] [--color=auto] 搜索字符串
filename
例如:
dmesg | grep 'eth'
dmesg | grep -n --color=auto 'eth'
dmesg | grep -n -A3 -B2 --color=auto 'eth'



可以看到alias grep=’grep –color=auto’,所以第一幅图都有颜色
搜寻特定字符串
grep -vn 'the' regular_express.txt

反向选择
grep -vn 'the' regular_express.txt

不论大小
grep -in 'the' regular_express.txt

利用中括号 [] 搜寻集合字符
grep -n 't[ae]st' regular_express.txt

搜寻到有 oo 的字符
grep -n 'oo' regular_express.txt

不想要 oo 前面有 g
grep -n '[^g]oo' regular_express.txt

oo 前面不想要有小写字符
grep -n '[^a-z]oo' regular_express.txt

取得有数字的那一行
grep -n '[0-9]' regular_express.txt

想要 the 只在行首列出
grep -n '^the' regular_express.txt

开头是小写字符那一行就列出
grep -n '^[a-z] regular_express.txt

不要开头是英文字母
grep -n '^[^a-zA-Z]' regular_express.txt

^符号,在字符集合符号(括号[])之内之外是不同的!
在 [] 内代表『反向选择』
在 [] 之外则代表定位在行首的意义
行尾结束为小数点 (.) 的那一行
grep -n '\.$' regular_express.txt

要找出哪一行是空白行
grep -n '^$' regular_express.txt
. (小数点):代表『一定有一个任意字符』的意思;
* (星星号):代表『重复前一个 0 到无穷多次』的意思,为组合形态
要找出 g??d 的字符串
grep -n 'g..d' regular_express.txt

至少两个 o 以上的字符串
grep -n 'ooo*' regular_express.txt

要找出 g 开头 g 结尾的字符串
grep -n 'g.*g' regular_express.txt

要找出『任意数字』的行列
grep -n '[0-9][0-9]*' regular_express.txt

限定连续 RE 字符范围 {}
找出 g 后面接 2 到 5 个 o ,然后再接一个 g 的字符串
grep -n 'go\{2,5\}g' regular_express.txt

列出/etc下连接档
ls -l /etc | grep '^l'

『正规表示法的特殊字符』与一般在指令列输入指令的『通配符』不相同
在通配符当中的 * 代表的是 0 ~ 无限多个字符的意思,
在正规表示法当中, * 则是重复 0 到无穷多个的前一个 RE 字符
shell script
是用 shell 的功能所写的一个『程序 (program)』
shell script 的用处:
自动化管理的重要依据:
追踪与管理系统的重要工作:
简单入侵检测功能:
连续指令单一化:
简易的数据处理:
注意事项:
指令的执行是从上而下、从左而右的分析与执行;
指令的下达:指令、选项与参数间的多个空白都会被忽略掉;
空白行也将被忽略掉,且 [tab] 按键所推开的空白同样规为空格键;
如果读一个 Enter 符号 (CR) ,就尝试开始执行该行 该命令;
至亍如果一行的内容太多,则可以使用『 [Enter] 』来延伸至下一行;
『 # 』可做为批注!
执行方法:
直接指令下达:shell.sh 档案必须要具备可读与可执行 (rx) 的权限,然后
• 绝对路径:使用 /home/dmtsai/shell.sh 来下达指令;
• 相对路径:假设工作目录在 /home/dmtsai/ ,则使用 ./shell.sh 来执行
• 变量『PATH』功能:将 shell.sh 放在 PATH 指定的目录内,例如:~/bin/
以 bash 程序来执行:透过『 bash shell.sh 』或『 sh shell.sh 』来执行
软件安装
以原始码的方式来安装软件,也就是利用厂商释出的 Tarball 来迚行软件的安装。
每次安装软件都需要侦测操作系统环境、设定编译参数、实际的编译。
使用的软件管理机制为 RPM 机制,而用来作为在线升级的方式则为 yum !






