文件名匹配
* 匹配所有字符串(任意长度)
? 匹配任意一个字符
使用方括号[],可以匹配一个或多个范围。
[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