linux下通配符和一些特殊符号

通配符 wildcard

通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不用在 操作符上)。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符 实际上就是一种shell实现的路径扩展功能。在 通配符被处理后, shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令。

★ * 代表0个到无穷多个任意字符,a*b   a与b之间可以有任意长度的任意字符,也可以一个也没有,如aggb,a–b,a789b,ab

★?代表一定有一个任意字符,a?b   a与b之间必须也只能有一个字符,但只能有一个字符,可以是任意字符,如aab,a-b,abb,

★[] 代表一定有一个在中括号之内的字符(非任意字符)。例如a[xyz]b,a与b之间必须也只能有一个字符,但只能是x或y或z,如axb,ayb,azb。

★[-] 有-号在中括号内,代表在编码顺序内的任意单一字符,[0-9]代表0-9内的所有数字中的单一字符,a[0-9]b,a与b之间必须也只能有一个字符,如a0b,a2b,  a9b

★[^]中括号内有^字符,代表非括号内的其他字符,[^abc] 表示一定有一个字符,只要是非a,b,c就可以接受

★[!]同上

★{string1,string2,……}匹配string1或者string2……其一的字符串,a{abc,xyz,123}b,ab之间只能是abc,xyz,123,其中之一。

bash环境中的特殊符号

◆#批注符号,这个被使用在script当中,视为说明,其后的数据均不执行。

◆\转义符号,将“特殊字符或者通配符”还原成一般字符。

◆|管道,分隔两个管道命令的界定

◆$使用变量前导符,/目录符号,路径分隔的符号

◆!逻辑运算意义上的非

◆>  >>  数据流重定向,输出导向stdout,

◆<  << 数据流重定向,输入导向stdin,

◆‘ ’    单引号,不具有变量的置换功能

◆ “ ”   双引号,具有变量置换的功能

◆` `   中间为可以先执行的命令  也可以使用$()

◆; 在前一个命令结束时,忽略其返回值,继续执行下一个命令

◆&& 短路或,在前一个命令结束时,若返回值为ture,继续执行下一个命令

◆||   短路与,在前一个命令结束时,若返回值为false,继续执行下一个命令

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88886

(1)
sunchunjiangsunchunjiang
上一篇 2017-11-26 11:56
下一篇 2017-11-26 15:29

相关推荐

  • Linux基础知识之文本查找和正则表达式扩展正则表达式

    1.什么是正则表达式?      正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的复制,让用户可以轻易达到查找、删除、替换某些特定字符串的处理程序。      正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工作程序就可以用来作为…

    Linux干货 2016-08-10
  • 文件、目录——Linux基本命令(7)

    1.     文件名规则 (1)文件名最长255个字节          (2)包括路径在内文件名称最长4095个字节 (3)文件颜色          蓝色-…

    2017-07-17
  • Centos7 PHP-FPM源码安装

    PHP-FPM源码安装 安装必要组件 yum install -y openssl-devel traceroute libtool unzip gcc gcc-c++ autoconf net-snmp-devel vim wget sysstat lrzsz  man tree mysql-devel ntpdate rsync libxml2…

    系统运维 2016-09-06
  • 第六周学习总结

    写在前面 在互联网+的时代,网络显得越发重要,如果现在你一顿不吃饭可能还没事但是一个小时没网络,估计你都要疯了。那么网络到底是个啥呢?看不见又摸不着。拿着一台电脑怎么和网络建立连接呢?那么下面要讲解的内容或许可以给你解决个大概。 闲聊网络 如果让你修一栋房子你会一层一层的往上修,并且规划好一层用来开商铺,二层用来开超市,上面一层用来干嘛等等,其实网络也是一样…

    2018-01-08
  • samba服务实现:linux和windows之间共享

    1,首先在linux(centos6,7)安装好samba程序:     yum -y install samba   samba-common        主配置文件:/etc/samba/smb.conf   ~]# groupadd share_gro…

    2017-03-05
  • bash中的变量

        对任何一门编程语言来说,最基础的部分就是变量。那什么事变量呢?变量就是把一个已知的可以变动的值,赋给一个固定名字的,用固定的名字代表这个可变动的值。在bash中也不例外,跟大多数编程语言一样,它也有一些自己的语法和规则 bash变量:     1.规则设置:变量和变量的值中间用=连接,=的两…

    Linux干货 2016-08-15