• Linux中通配符、shell元字符、转义符


    参考:
    每日linux命令学习-引用符号(反斜杠\,单引号’',双引号"")


    1. 通配符

    通配符实际上是一种shell实现的路径扩展功能,当shell在“参数”中遇到通配符后,会将其当做路径或文件名在磁盘上搜寻可能的匹配,以下表格中列出了比较常用的shell通配符,以供大家参考和学习。

    字符含义实例
    *匹配一个或多个字符a*b a与b之间可以有任意长度的字符
    ?匹配任意一个字符a?b a与b之间必须也只能有一个字符
    [list]匹配list中任意单一字符a[xyz]b a与b之间必须也只能有一个[xyz]之间的字符
    a[0-9]b a与b之间必须也只能有一个0-9之间的数字字符
    a[!0-9]b a与b之间有且只有一个字符,同时字符不能为0-9
    {string list}匹配字符串列表中的任一字符串a{abc,xyz,123}b a与b之间只能为abc或xyz或123

    需要说明的是,通配符与正则表达式语句有些相似,但它与正则表达式不同,只能将其理解为shell特殊字符即可,而且只涉及*,?,[]和{}。

    2. shell元字符

    字符说明
    命令分隔符,在前一个命令结束时,忽略其返回值,继续执行下一个命令
    &后台运行命令,最大的好处是无需等待命令执行结束,就可以在同一命令行下继续输入命令
    =变量名=值,为变量赋值。注意"="左右紧跟变量名和值,中间不要有空格
    $变量值替换,“$变量名"替换为shell变量的"值”,为避免在文本连接时混淆,请使用${变量名}
    >输出重定向,prog > file 将标准输出重定向到文件(覆盖原文件内容)
    >>输出重定向,prog >> file 将标准输出追加到文件
    <输入重定向,prog < file 从文件file中获取标准输入
    |管道命令,例:p1 | p2 将p1的标准输出作为p2的标准输入
    ()在子shell中执行命令,或用于运算,或用于命令替换($(command))
    {}在当前shell中执行命令,或用在变量替换的界定范围(例如上面的${变量名}用法)
    &&前一个命令执行成功后,才继续执行下一个命令。例:p1 && p2 ,若p1执行成功后,才执行p2,反之,不执行p2
    ||前一个命令执行失败后,才继续执行下一个命令。例:p1|| p2 ,若p1执行成功后,不执行p2,反之,才执行p2
    !执行历史记录(history列表)中的命令,如!1
    ~用户主目录

    3. 转义符

    shell提供的转义符有3中:单引号(‘’),双引号(“”),反斜杠(\)。转义符已在上述内容中进行了详细介绍,在此只是对其做一个简单总结。

    字符说明
    ‘’(单引号)硬转义,其内部所有的shell元字符、通配符等都不会被解析,用于参数的原样输出。注意,硬转义中不允许再出现单引号
    “”(双引号)软转义,可用于保护元字符和通配符,但是允许变量和命令替换的扩展,也允许反斜杠转义符的解析
    \(反斜杠)转义,保护元字符或通配符不被shell解析,主要用于双引号,单引号,反单引号和美元符号

    与echo和sed连用时,常用的反斜杠转义字符如下表所示:

    转义符意义
    \a响铃字符
    \b后退符,即删除前一个字符
    \c输出不换行,与/n作用相反
    \d以“星期、月、日”表示日期
    \f换行,但光标仍停留在原处
    \h或\H显示基本主机名或显示完整的主机名
    \t或\T24小时或12小时制时间
    \n输出换行
    \r光标移至行首,并且不换行
    \s当前shell的名称,如bash
    \t插入Tab键
    \u当前登录shell的用户名
    \vBash版本
    \w当前工作目录
    \W当前工作目录的基名
    \\反斜杠\,有无双引号,结果相同
    \$美元符号$,有无双引号,结果相同
    \"双引号“,有无双引号,结果相同
    \’单引号’,不能与双引号同时使用
    \`反单引号`,有无双引号,结果相同
    \nnn插入八进制所代表的ASCII字符
  • 相关阅读:
    SpringMVC基础篇:引言
    mysql数据库中mysql database 数据被破坏产生的一系列问题
    cesium for ue左下角图标隐藏
    Anycast CLB 如何支持多地&动态加速的负载均衡服务,高速互联转发!
    Linux内核—模块编译方法
    cocos2dx:CCTexture2D注解
    Tomcat服务(部署、虚拟主机配置、优化)
    linux查看es节点使用情况,elasticsearch(es) 如何查看当前集群中哪个节点是主节点(master)
    刷题笔记:二叉树剪枝(递归,迭代)
    wpscan专门针对wordpress的安全扫描工具
  • 原文地址:https://blog.csdn.net/mahoon411/article/details/125427329