1.什么是编程?
程序:指令+数据
程序编程风格:
过程式:以指令为中心,数据服务于指令
对象式:以数据为中心,指令服务于数据
shell程序:提供了编程能力,解释执行
程序的执行方式:
计算机:运行二进制指令
编程语言:
低级:汇编
高级:
编译:高级语言-->编译器-->目标代码
C,C++,java
解释:高级语言-->解释器-->机器代码
shell,perl,python
2.编程类型
过程式编程:
①顺序执行
②循环执行
③选择执行
shell编程:过程式,解释执行
编程语言的基本结构:
①数据存储,变量,数组
②表达式
③语句
3.shell脚本
shell脚本:文本文件
shebang:
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
magic number:魔数
运行脚本:
①给予执行权限,通过具体的文件路径指定文件执行
②运行解释器,将脚本作为解释器程序的参数运行
4.变量
命名的内存空间:
数据存储方式:ASCII
字符
数值:整型,浮点型
变量:变量类型
作用:
①数据存储格式
②参与的运算
③表示的数据范围
类型:
字符
数值:整型,浮点型
编程程序语言:
强类型:
弱类型:bash
5.逻辑运算
true 1,flase 0
与:
1 && 1 = 1
1 && 0 = 0
0 && 1 = 0
0 && 0 = 0
或:
1 || 1 = 1
1 || 0 = 1
0 || 1 = 1
0 || 0 = 0
非:
!1 = 0
!0 = 1
短路运算
与:第一个为0,结果必定为0
第一个为1,第二个必须要参与运算
或:第一个为1,结果必定为1
第一个为0,第二个必须要参与运算
6.grep
linux文本处理三剑客
①grep:文本过滤(模式:pattern)工具
grep,egrep,fgrep
②sed:stream editor,文本编辑工具
③awk:linux上的实现gawk,文本报告生成器
grep:Global search REgular expression and Print out the line
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
REGEXP(正则表达式):由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字面意义,而表示控制或通配的功能
分两类:
基本正则表达式:BRE
扩展正则表达式:ERE
grep -E,egrep
正则表达式引擎
grep [OPTIONS] PRTTERN [FILE...]
选项:
--color=auto:对匹配到的文本着色显示
-v:显示不能够被parrtern匹配到的行
-i:忽略字符大小写
-o:仅显示匹配到的字串
-q:静默模式,不输出任何信息
-A n:after,显示匹配行及后n行
-B n:before,显示匹配行及前n行
-C n:context,显示匹配行及前后各n行
-E:匹配ERE,扩展正则表达式
7.正则表达式
基本正则表达式元字符
字符匹配:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
匹配次数
字符锚定