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

Shell 命令 正则/管道/重定向

2013-04-25 14:11 369 查看
文件名匹配

* 匹配所有字符串(任意长度)

? 匹配任意一个字符

使用方括号[],可以匹配一个或多个范围。

[a-i] 匹配从a到i中的任意一个字符

[ack] 匹配a,c,k三个字符中的任意一个

[1-5,a-i]匹配数字1到5,字母a到i之中的任意一个字符

[ab,x-z] 匹配a,b,以及x到z字符中的任意一个

 

遇到空格等可使用转义字符:反斜杠

cat  a\  b

 

单引号和双引号也可以处理特殊字符:

单引号之间的内容则统统被视为字符串;

双引号不是对所有特殊字符都做转义处理,比如美元符号。

echo"用户Shell为: $SHELL"

用户Shell为: /bin/bash

echo '用户Shell为: $SHELL'

用户Shell为: $SHELL

双引号内容的内容被视为字符串,除了$SHELL这个字段—它被解析成用户Shell程序的位置了;而单引号内容的内容完全被视为字符串,任何符号都不会解析。

 

 

管道

|:将一个命令的输出结果作为另一个命令的输入,且一个命令行中,可以使用多个管道符号。

cat /etc/services|wc–l

 

输入/输出重定向

在Linux下,重定向符号有两个:小于号和大于号。小于号可以重定向输入,大于号可以重定向输出。

 

wc </tmp/abc    将文件/tmp/abc的内容传递给wc

 

echo 123 >z 输出123到文件z

echo 123 >>z 附加123到文件z

 

echo 1111> /dev/null  输出不显示

 

0:stdin 标准输入

1:stdout 标准输出

2:err 错误信息

 

ls 1111> /dev/null  2>/dev/null   输出不显示,出错不显示

or: ls1111 > /dev/null  2>&1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: