(四)、Shell元字符通配符


Shell元字符概述

shell元字符也称为特殊字符,由shell负责预先解析后,将处理结果传给命令行

Shell常用元字符

shell常用元字符:

  • IFS:由空格、回车、tab三者之一构成,默认为回车

  • =:shell用于变量的赋值

  • $:变量或运算替换

  • >:输出重定向

  • <:输入重定向

  • |:管道

  • &:用于将命令置于后台执行或重定向

  • ():用于运算或命令替换

  • {}:用于变量替换的范围界定

  • ;:在一个命令结束后,忽略其输出,继续执行下一条命令

  • &&:在一个命令结束后,如果返回值为true,则继续执行后面的命令

  • ||:在一个命令结束后,如果返回值为false,则继续执行后面的命令

  • !:执行history列表中的命令

在这里插入图片描述

Shell通配符概述

(1)、通配符是由shell处理的,它只会出现在命令的“参数”里。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配;若符合要求的匹配存在,则进行带换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理

(2)、在通配符被处理后,shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令

Shell常用通配符

字符含义实例
*匹配0或多个字符a*b a与b之间可以有任意长度的任意字符,也可以一个也没有,如abb,ab,adcb
?匹配任意一个字符a?b a与b之间必须也只能有一个字符,可以是任意字符,如aab,abb,a0b
[list]匹配list中的任意一字符a[xyz]b a与b之间必须也只能有一个字符,但只能是x或y或z,如axb,ayb,azb
[!list]匹配除list中的任意一字符a[!0-9]b a与b之间必须也只能有一个字符,但不能是阿拉伯数字,如axb,aab,a-b
[c1-c2]匹配c1-c2中任意单一字符 如:[0-9][a-z]a[0-9]b 0与9之间必须也只能有一个字符 如a0b,a1b…a9b
{string1,string2,…}匹配string1或string2(或更多)其一字符串a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一

Shell通配符实例

ls a*c.txt:显示文件,文件名以a开头,以c.txt结尾的文件

在这里插入图片描述

ls a?c.txt:显示文件,文件以a开头中间包含一个任意字符,以c.txt结尾

在这里插入图片描述

ls a[ab]c.txt:显示文件,以a开头,中间字母是a或b,然后以c.txt结尾

在这里插入图片描述

ls a[0-9]c.txt:显示文件,以a开头,中间包含一个数字,然后以c.txt结尾

在这里插入图片描述

Shell转义字符概述

字符说明
‘’(单引号)又叫硬转义,其内部所有的shell元字符、通配符都会被关掉。注意:硬转义中不允许出现’(单引号)
“”(双引号)又叫软转义,其内部只允许出现特定的shell元字符:$用于参数带换’用于命令代替
\(分斜杠)又叫转义,去除其后紧跟的元字符或通配符的特殊意义

在这里插入图片描述

Shell转义字符实例

ls *.txt:如果使用转义字符\,那么后面的元字符就称为普通字符了,*.txt就变成普通的文件名了

在这里插入图片描述


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹿快跑~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值