Linux通配符及元字符说明

通配符

 通配符简介

 虽然有些像,但是linux通配符与正则表达式并不是一回事。通配符由shell进行处理,shell会将其作为路径或文件名在文件系统中进行匹配,若符合要求的匹配存在则进行路径扩展,否则该通配符将作为一个普通字符传递给命令。总之,shell会对带通配符的命令及参数进行命令重组,再处理重组后的命令。

 通配符有哪些
通配符含义
*0或任意个字符
?任意一个字符
[abc]abc中任一个字符
[a-z]按编码顺序a到z间的所有字符
[!ab]或[^a-b]表示反向选择,即有一个字符,但不能是ab
{string1,string2}表示匹配string1或string2中其一字符串
 一些实例

*字符匹配任意个任意字符

在这里插入图片描述

?只能匹配单个任意字符

在这里插入图片描述

[]内字符代表其中任意一个,而{}内字符串也是匹配其中任意一个字符串

在这里插入图片描述

[]内用-符号链接两个字符,代表按编码顺序两个字符间的任意一个字符

在这里插入图片描述

元字符

 元字符作用

 另一种被shell解释的字符是元字符,元字符多作用于命令。

 元字符有哪些
元字符含义
IFS内部字段分隔符,由<tab>或<space>或<enter>组成
=变量赋值
$引用变量
>输出重定向
>>输出重定向(附加)
<输入重定向
<<内联输入重定向
|管道命令
&文件描述符或背景运行
``取命令的执行结果
$()取命令的执行结果,但是可以嵌套使用
{}变量替换的范围界定或将其内的命令置于non-named function执行
;分割多个命令,前一个命令执行后忽略其返回值,执行下一个命令
&&前一个命令结束时若返回值为true,则执行后一个命令
||前一个命令结束时若返回时为false,则执行后一个命令
取反,或历史命令调用
一些实例

重设IFS为冒号并打印/etc/passwd文件的第一行,因为该文件用冒号分隔

在这里插入图片描述

 另有特色符号
符号含义
" "(双引号)软引用,引号内特殊字符有特殊意义,但是不解析通配符
` `(单引号)硬引用,引号内所有字符都无特殊意义
不加引号支持通配符
一些实例

双引号不解析通配符

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值