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

相关推荐

  • 配置yum服务器——以centOS 6.9系统为例

    准备工作 关闭防火墙  关闭防火墙service iptables stop  设置防火墙开机不启动chkconfig iptables off  查看一下防火墙状态 iptables -vnL 如下图,可以看到已经关闭 关闭SElinux 使用命令 vim /etc/selinux/config 将SELINUX=enable…

    Linux干货 2017-08-05
  • 几个正则表达式和find查找语句事例

    显示当前系统上root、fedora、或user1用户的默认shell; ~]# grep -E "^(root|bin|hadop)" /etc/passwd | cut -d: -f7 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如: hello(); ~]#grep -E -o &qu…

    Linux干货 2016-10-30
  • vim练习题

    #复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符vim /tmp/profile%s@^[[:space:]]+@@g#复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号vim…

    Linux干货 2017-06-03
  • 马哥Linux第六周作业

    网络管理 进程查看及管理之ps,top,htop,dstat,vmstat

    2018-01-20
  • bash基础特性及用户与组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当做其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中。 5、取出当前主机的I…

    2017-09-29
  • tcpdump输出详解

    在这里不得不再吐槽下国内整个IT粗糙浮躁,度娘下来的中文文档几尽抄袭~google下来的文档英文文档质量远高于国内中文文档.用ie或没有安装插件的浏览器访问,不然可能会有其它访问请求数据干扰分析 IP数据包结构 TCP数据包结构 // tcpdump需root权限 # tcpdump -x -i eth1 i…

    Linux干货 2015-04-15