带你认识Linux中的通配符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带你认识Linux中的通配符相关的知识,希望对你有一定的参考价值。

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

常用的通配符有 * 、? 、[] 等(可通过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开头的文件和目录:
技术分享图片

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

示例:ls -d* [a-Z] 显示目录下所有以字母开头的文件或目录
技术分享图片

[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:]]显示当前目录下 所有以字母或数字结尾的文件和目录:
技术分享图片

到此为止,常用的通配符使用方法就介绍到这里了。

以上是关于带你认识Linux中的通配符的主要内容,如果未能解决你的问题,请参考以下文章

Web 三件套两万字带你入门 CSS

Web 三件套两万字带你入门 CSS

linux中的通配符元字符转义符

从头认识java-13.12 超类通配符

linux 通配符

cp和mv中的linux通配符使用