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

相关推荐

  • FHS文件系统各个目录功能

    FHS文件系统各个目录功能 概述      Linux文件系统有点特别,它采用一种称为虚拟目录(virtual directory)的单文件系统,虚拟目录包括了计算机存储设备下的所有路径,并且把它们纳入一个目录结构中。      Linux PC上安装的第一块硬盘叫做根驱动器,根驱动器包含了虚拟目录…

    Linux干货 2016-10-17
  • bash特性及bash脚本编程初步

    bash特性之命令hash 之前我们讲过用户在执行一个命令的时候bash会遍历环境变量$PATH中所有路径来查找执行文件。而命令hash是用来缓存之前用户使用过的命令下次执行的时候直接搜索hash缓存来减少对$PATH变量中路径的遍历次数,从而提高系统运行效率 hash:hash命令     hash:列出 &nbsp…

    Linux干货 2016-12-20
  • IP地址之IPv4

    一、概述   IP地址有IPv4和IPv6两个版本,目前我们通常所说的IP地址是指IPv4。   IP地址由32位的二进制数组合而成,为了方便人类记忆,将二进制转换成4个十进制的数值。   在这32位数据中分为网络号与主机号两个部分。 二、IP的分级   IP网段分为五个等级,其定义如下:   A类:规定前面…

    Linux干货 2016-02-14
  • 重构-改善既有代码的设计:重构原则(二)

    1.什么是重构 重构(Refactoring):在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造,对代码内部的结构进行优化。 2.为何重构   1)改进软件设计(整理代码) 重构和设计是相辅相成的,它和设计彼此互补。有了重构,你仍然必须做预先的设计,但是不必是最优的设计,只需要一个合理的解…

    Linux干货 2015-04-07
  • 20170714上课LINUX入门

    1、安装centos6.9和centos7.3时的分区情况 /dev/sda1 mount /boot 1G – 主分区/dev/sda2 mount / 50G -主分区/dev/sda3 mount /app 40G -主分区/dev/sda4 1k 扩展分区/dev/sda5 swap 2G -逻辑分区(swap分区的大小一般为物理内存的2…

    Linux干货 2017-07-15
  • yum

    yum yum:YellowdogUpdate Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)文件服务器:http://https://ftp://file:// …

    2017-08-17