带你认识Linux中的通配符

所谓的通配是指:显示以指定条件的文件,英文名为glob。通配符是一种特殊语句,用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符它使得文件管理更加快速,便捷,大大提升了工作效率。

timg_image&quality=80&size=b9999_10000&sec=1522670106118&di=cb1856eabc99620a3c33

通配符是一种特殊语句,用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符它使得文件管理更加快速,便捷,大大提升了工作效率。

常用的通配符有  * 、? 、[]  等(可通过man 7 glob的帮助文档来查看所有通配符)

1. * 表示任意长度的任意字符:

例:ls -d /etc/a*     显示/etc目录下所有以a开头的文件与目录:

星号

2. ? 表示任意单个字符:

例:ls  a?b  显示当前目录下所有以a开头中间有一个字符b结尾的文件,a10b中间夹2个字符,因此不显示:

问号

3. [] 匹配指定范围内任意单个字符:

例:ls -d /etc/[mn]*  显示/etc目录下所有以m开头或者n开头的文件和目录:

3

[a-Z]:表示任意一个单个字母:

例:ls -d*[a-Z]  显示目录下所有以字母开头的文件和目录

字母 (2)

[0-9]:表示任意单个数字:

例:ls -d f[0-9]  显示当前目录下所有以f开头后跟任意一个数字的文件和目录,f16因含两个数字,则不予显示:

数字

4.[^]匹配除指定范围以外的任意单个字符:

例:ls  -d   [^a]*   显示当前目录下所有不是a开头的文件和目录:

除

注意:对字符集或数字集取反时,托字符^加在括号内;如:[^0-9],[^[:alpha:]];

5.常用的字符集表示方法:

[:alpha:]表示所有的字母(不区分大小写)

例:ls -d *[[:alpha:]] 显示当前目录下所有以字母结尾(不区分大小写)的文件和目录

字母字符集

[:digit:]表示任意单个数字,效果同[0-9]

例:ls f[[:digit:]] 显示当前目录下所有f开头,单个数字结尾的文件,值得注意的是:[:digit:]只代表单个数字,f16文件因为f后跟两个数字,则不予显示。

数字字符集

[:lower:]表示任意单个小写字母

例:ls -d [[:lower:]]*[[:lower:]]

显示所有当前目录下以小字字母开头且以小写字母结尾的文件和目录:

小写字母字符集

[:upper:]表示任意单个大写字母

例:ls -d a*[[:upper:]] 显示当前目录下 所有以a开头并以一个大写字母结尾的文件和目录:

大写字母字符集

[:alnum:]表示任意单个字母或数字

例:ls -d [[:alnum:]]显示当前目录下 所有以字母或数字结尾的文件和目录:

T2}H17KY`(`(X%SPA7ORCX5

到此为止,常用的通配符使用方法就介绍到这里了,小伙伴们以后查找文件是不是更容易了呢?

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

(6)
wangxczwangxcz
上一篇 2018-04-01 19:28
下一篇 2018-04-01 19:28

相关推荐

  • 马哥Linux云计算面授班第1天课堂笔记

    开班典礼,规章制度,自我介绍,写博客

    2018-03-26
  • 笔记

    LINUX中查看路由表的命令 route -nIP地址 有类的 无类的无类:网络ID ,主机ID不确定 (32位以内的)CIDR 无类域间路由无类ID要与netmask(子网掩码)一起用 用子网掩码(也是32位的2进制数)来确定无类ID的网络ID和主ID netmask对应的是1IP/网络ID位数255.255.0.000000000 010000000 1…

    Linux笔记 2018-05-01
  • 小白的随堂笔记(重定向,管道,用户和组,文本工具)

    重定向 把输出和错误输出定向到新文件中 c 操作符号 /> 标准输出重定向 把标准输出重定向到文件(可覆盖原有文件) 2> 错误输出重定向 把错误输出重定向到文件(可覆盖原有文件) &> 把所有输出重定向到文件 >> 所有内容基础上,追加内容 2>> 追加重定向错误输出数据流 &>> 追加…

    2018-04-08
  • 输入输出重定向

    重定向就是改变默认位置 ps aux 显示进程号 大于号(只处理正确信息),以覆盖的方式把命令输出到指定的文件,如果a > b;c >b;c会把之前a覆盖到b的内容覆盖到。为了保留a和c的数据,这时候用追加的方式解决,双大于号就用以追加的方式 set -c 不能覆盖 set +c 允许覆盖 |> 强行覆盖 清零|> /data/sky…

    Linux笔记 2018-07-30
  • N31第六周作业

    本周(7.23–7.29)第六周 1、简述osi七层模型和TCP/IP五层模型 OSI 七层模型 1、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。 2、表示层:提供各种用于应用层数据的编码和转换功能,确保一个…

    Linux笔记 2018-08-01
  • centos6.9启动之grub

    本文主要介绍系统启动中grub部分

    2018-05-13