您的位置:首页 > 运维架构 > Shell

LINUX SHELL学习笔记01

2014-12-04 18:39 337 查看
1.shell识别三种基本命令:

内建命令、shell函数、外部命令

2.    /dev/null     位桶

      /dev/tty    终端控制台  串行端口   伪终端-------------可以用于输入密码

3.stty -echo 关闭自动打印输入字符

     stty echo打开自动打印输入字符

4.设置环境变量  PATH=$PATH:$HOME/bin   其中 $PATH是系统环境变量路径       $HOME是本地的用户路径   后面跟需要设置的环境变量路径

这种方法是临时添加的   如果需要永久添加  :修改./profile文件

5.其中环境变量中的多个位置   可以使用:改变查找的优先权    :加在首部  先从当前目录查找    加在尾部,最后从当前目录查找   



6.shell脚本中的位置参数----命令行参数($1---$9),超过9必须要用{}中括号括起来

7.软件的国际化--代码i18n--表示internationnalization(单词首位之间有18个字母)

软件的本地化--代码l10n--表示localization(单词首位之间10个字母)

8.



--------------------------------------------------------------------------------我是分割线---------------------------------------------------------

9.正则表达式-----一个字符或和元字符组合成的字符集,它们匹配(或指定)一个模式。

查找匹配文本行--grep

改变输入流--sed

字符串处理--awl,Icon,perl,python,ruby,tcl

文件查看程序--more, less,page

文本编辑器--emacs,vim等

10.锚

一个锚指明了正则表达式在一行文本中要匹配的位置,例如^和$就是锚。

3.修饰符

它们用于展开或缩小(即是修改了)正则表达式匹配文本行的范围.修饰符包括了星号、括号和反斜杠符号。

* 匹配重复零次或多次前一字符 

+ 匹配一个或多个前面的字符.它的作用和*很相似,但唯一的区别是它不匹配零个字
符的情况

? 匹配零或一个前面的字符。它一般用于匹配单个字符 

. 匹配任意字符( 除换行符 ) 

^ 匹配一行的开头,但依赖于上下文环境,可能在正则表达式中表示否定一个字符 集的意思

[...] 匹配集合中任意字符 如"[xyz]" 匹配字符 x, y, 或z

[^...] 匹配不属集合 中 任意字符 

^, $ 匹配 行首、行尾 

\<, \> 用于表示单词的边界。\< 匹配词首,\>词尾,如"\<the\>" 匹配单词"the"

\(...\) 正则表达式分组。进行子字符串提取(substring extraction)一起使用很有用

\n 第 n 个分组内容  

\ 转义(escapes) 一个特殊的字符,使这个字符表示原来字面上的意思。"\$"表示
了原来的字面意思"$",而不是在正则表达式中表达的匹配行尾的意思."\\"也被 解释成了字面上的意思"\"

\{ \} 指示前面正则表达式匹配的次数. 

要转义是因为不转义的话大括号只是表示他们字面上的意思.这个用法只是技巧上 的而不是基本正则表达式的内容."[0-9]\{5\}" 精确匹配5个数字(从0到9的数字). 

| "或",正则操作符用于匹配一组可选的字符

{n} n是一个非负整数。匹配确定的n次。例如,''o{2}'' 不能匹配 "Bob"中的''o'',但是能匹配"food" 中的两个o。

{n,} n是一个非负整数。至少匹配n次。例如,''o{2,}'' 不能匹配"Bob"中的'o'',但能匹配 "foooood"中的所有o。''o{1,}''等价于''o+''。''o{0,}''则等价于''o*''。

{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,"o{1,3}"将匹配 "fooooood"中的前三个o。''o{0,1}''等价于''o?''。请注意在逗号和两个数之间不能有空格。

\b 匹配一个单词边界,也就是指单词和空格间的位置。例如,''er\b'' 可以匹配"never" 中的''er'',但不能匹配 "verb"中的 ''er''。 

\B 匹配非单词边界。''er\B''能匹配"verb"中的''er'',但不能匹配"never"中的 ''er''

\w 匹配包括下划线的任何单词字符。等价于''[A-Za-z0-9_]''。

\W 匹配任何非单词字符。等价于''[^A-Za-z0-9_]''。

\d 匹配一个数字字符。等价于[0-9]。

\D 匹配一个非数字字符。等价于[^0-9]。

\f 匹配一个换页符。等价于\x0c和\cL。

\n 匹配一个换行符。等价于\x0a和\cJ。

\r 匹配一个回车符。等价于\x0d和\cM。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v]。

\S 匹配任何非空白字符。等价于[^\f\n\r\t\v]。

\t 匹配一个制表符。等价于\x09 和 \cI。

\v 匹配一个垂直制表符。等价于\x0b和\cK。

6,几种有用的正则表达式

项目正则表达式
匹配正规文本中的单词\b[[:alpha:]]+\b



(^| )["({[]*book[]})"?,.:;!'s ]*( |$)
匹配空行^$
匹配含有空格的空白行和空行^空格*$
匹配整个行^.*$
匹配一个或多个空格空格空格*
匹配s前面含有任意abc随机组合的字符串[abc]*s
匹配格式化的美元数额\$[空格0-9]*\.[0-9][0-9]
匹配电子邮件地址[A-Za-z0-9.]+@[A-Za-z0-9.]+\.[a-zA-Z]{2,4}
匹配一个HTTP URLhttp://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}


12./是js中正则表达式的定界符,就像引号是字符串的定界符,

var regx=/beijing|shanghai/;    加双斜杠作为界定符,表示这之间是一个正则表达式,需要使用正则表达式来解释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: