shell 学习之正则、别名以及管道重定向
2013-05-27 16:14
447 查看
一、linux的文件类型:
类型 标识符 颜色
档案file: - 白色
目录directory: d 蓝色
字符设备character: c 黄色
块设备block: b 黄色
管道 pipe: | 黄色
链接设备linek: ln 蓝--绿
socket: s
二、别名设置和取消
ualias 撤销别名使用
ualias cmdalias
命令别名和命令本身的时候 \cmd
三、管道、重定向
系统设定
默认输出设备 标准输出 stdout 1
显示器
默认输入设备 标准输入 stdin 0
键盘
标准错误输出 stderr 2
> 输出重定向 原有内容丢失 覆盖输出
< 输入重定向 原有内容丢失 覆盖输入
>> 追加输出 保留文件中原有内容
<< 此处生成文档
>| 强制 输出重定向
2> 重定向错误输出
&>:重定向标准输出或错误输出到同一个文件
1>&2 正确返回值传递给2输出通道 &2表示2输出通道
2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道.
四、文件名通配
文件名通配 gloabbing
* 匹配任意长度的字符,可以是空字符串
? 匹配一个字符,但不可为空
\ 可以做转义使用,也可作为续行符号
[] 匹配一个序列中的任意一个
[0-9][a-z][a-zA-Z] 选择其中的任意一个
[^] 取反的意思
[^0-9] 除了0-9之外的任意单个字符
[[:space:]] 所有的空白字符
[[:punct:]] 标点符号
[[:lower:]] 小写字母 也可用 [a-z]表示
[[:upper:]] 大写字母 也可用[A-Z]表示
[[:alpha:]] 大小写字母 也可用[a-zA-Z]表示
[[:digit:]] 数字 也可用[0-9]表示
[[:alnum:]] 数字和大小写字母 也可用[0-9a-zA-Z]表示
五、正则表达式
基本正则表达式:
. 匹配任意单个字符
[^] 匹配指定范围外的任意单个字符 不需要转义
[] 匹配指定范围内的任意单个字符,不需要转义
^ 匹配行首
$ 匹配行尾
\? 匹配前面出现字符的0个或1个字符
* 匹配前面的字符任意次数
.* 匹配任意长度的任意字符
\{m,n\} 匹配其前面的字符至少m次,至多n次,需要转义
\(\) 后向引用
\< = \b 其后面的任意字符必须作为单词首部出现
\> = \b 其前面的任意字符必须作为单词的尾巴出现
^$空白行
扩展正则表达式:
字符匹配:
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符,不需要转义
[^] 匹配指定范围外的任意单个字符 不需要转义
次数匹配:
* 匹配前面的字符任意次数
? 匹配前面出现字符的0个或1个字符 不需要转义
+ 其前字符至少一次
{m,n} 匹配其前面的字符至少m次,至多n次 不需要使用\转义
位置牟定:
^ 匹配行首
$ 匹配行尾
^$空白行
\> 其前面的任意字符必须作为单词的尾巴出现
\< 其后面的任意字符必须作为单词首部出现
分组:
()不需要再进行转义
\1,\2,\3....
或者:
| or
a|b a或者b
示例脚本(暂时未列出...):
类型 标识符 颜色
档案file: - 白色
目录directory: d 蓝色
字符设备character: c 黄色
块设备block: b 黄色
管道 pipe: | 黄色
链接设备linek: ln 蓝--绿
socket: s
二、别名设置和取消
ualias 撤销别名使用
ualias cmdalias
命令别名和命令本身的时候 \cmd
#设置进入网络编辑目录的别名 [root@lovelace 51cto]# alias cdnet='cd /etc/sysconfig/network-scripts/' #使用别名 [root@lovelace 51cto]# cdnet [root@lovelace network-scripts]#
[root@lovelace 51cto]# alias cdnet='cd /etc/sysconfig/network-scripts/' [root@lovelace 51cto]# cd cdnet -bash: cd: cdnet: 没有那个文件或目录 [root@lovelace 51cto]# cd cdnet -bash: cd: cdnet: 没有那个文件或目录 [root@lovelace 51cto]# cdnet [root@lovelace network-scripts]#取消别名设置
#取消别名设置 [root@lovelace network-scripts]# unalias cdnet [root@lovelace network-scripts]# cd - /home/scripts/51cto #再次验证别名是否还存在 [root@lovelace 51cto]# cdnet -bash: cdnet: command not found
三、管道、重定向
系统设定
默认输出设备 标准输出 stdout 1
显示器
默认输入设备 标准输入 stdin 0
键盘
标准错误输出 stderr 2
> 输出重定向 原有内容丢失 覆盖输出
< 输入重定向 原有内容丢失 覆盖输入
>> 追加输出 保留文件中原有内容
<< 此处生成文档
>| 强制 输出重定向
2> 重定向错误输出
&>:重定向标准输出或错误输出到同一个文件
1>&2 正确返回值传递给2输出通道 &2表示2输出通道
2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道.
#2>&1是网上使用最广泛的一个示例 [root@lovelace 51cto]# cenet > info.tt 2>&1 #查看info.tt文件内容 [root@lovelace 51cto]# cat info.tt -bash: cenet: command not found
四、文件名通配
文件名通配 gloabbing
* 匹配任意长度的字符,可以是空字符串
? 匹配一个字符,但不可为空
\ 可以做转义使用,也可作为续行符号
[] 匹配一个序列中的任意一个
[0-9][a-z][a-zA-Z] 选择其中的任意一个
[^] 取反的意思
[^0-9] 除了0-9之外的任意单个字符
[[:space:]] 所有的空白字符
[[:punct:]] 标点符号
[[:lower:]] 小写字母 也可用 [a-z]表示
[[:upper:]] 大写字母 也可用[A-Z]表示
[[:alpha:]] 大小写字母 也可用[a-zA-Z]表示
[[:digit:]] 数字 也可用[0-9]表示
[[:alnum:]] 数字和大小写字母 也可用[0-9a-zA-Z]表示
五、正则表达式
基本正则表达式:
. 匹配任意单个字符
[^] 匹配指定范围外的任意单个字符 不需要转义
[] 匹配指定范围内的任意单个字符,不需要转义
^ 匹配行首
$ 匹配行尾
\? 匹配前面出现字符的0个或1个字符
* 匹配前面的字符任意次数
.* 匹配任意长度的任意字符
\{m,n\} 匹配其前面的字符至少m次,至多n次,需要转义
\(\) 后向引用
\< = \b 其后面的任意字符必须作为单词首部出现
\> = \b 其前面的任意字符必须作为单词的尾巴出现
^$空白行
扩展正则表达式:
字符匹配:
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符,不需要转义
[^] 匹配指定范围外的任意单个字符 不需要转义
次数匹配:
* 匹配前面的字符任意次数
? 匹配前面出现字符的0个或1个字符 不需要转义
+ 其前字符至少一次
{m,n} 匹配其前面的字符至少m次,至多n次 不需要使用\转义
位置牟定:
^ 匹配行首
$ 匹配行尾
^$空白行
\> 其前面的任意字符必须作为单词的尾巴出现
\< 其后面的任意字符必须作为单词首部出现
分组:
()不需要再进行转义
\1,\2,\3....
或者:
| or
a|b a或者b
示例脚本(暂时未列出...):
相关文章推荐
- Shell 命令 正则/管道/重定向
- linux学习第二十三篇:shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向
- Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制
- shell 学习(1) 执行,管道,重定向,逻辑分隔,变量,引号,运算
- [linux学习笔记]第3天:变量分类,重定向,管道命令,程序执行流,文本处理类命令, 正则表达式,短路操作符
- Shell基础:介绍、历史命令、命令不全和别名、通配符、输入输入重定向、管道发和作业控制
- Shell脚本学习笔记-重定向与管道命令
- shell学习笔记(一):管道与重定向
- shell介绍,命令历史,命令不全和别名,通配符以及输出重定向
- shell基础-输入输出以及重定向/多命令顺序执行与管道符/通配符与特殊符号
- linux shell 管道命令(pipe)使用及与shell重定向区别
- shell学习第五天--基本的I/O重定向
- linux shell 管道命令(pipe)使用及与shell重定向区别
- shell基础学习之正则表达式
- 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向
- shell脚本学习:正则表达式之sed,tr篇
- 5-3 8 shell介绍 命令历史 补全 别名 通配符 重定向
- java执行带重定向或管道的shell命令的问题
- linux学习--shell重定向
- Linux中重定向以及管道