带你认识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:]]显示当前目录下 所有以字母或数字结尾的文件和目录:

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

原文地址:http://blog.51cto.com/14103806/2325108

时间: 2024-10-10 04:06:36

带你认识Linux中的通配符的相关文章

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

linux中的通配符.元字符.转义符 linux中的通配符元字符转义符 shell命令的构成 通配符 元字符meta 转义符 example reference shell命令的构成 每条linux命令中的每一个character都是下面两种之中的一个: - literal:普通纯文本 - 保留字:通配符.元字符.转义字符 通配符 通配符是由shell处理的(不是由所涉及到命令语句处理的.事实上我们在shell各个命令中也没有发现有这些通配符介绍), 它仅仅会出如今命令的"參数"里(它

Linux中的通配符和正则表达式

通配符: 文件名统配是bash的特性之一,通配符一般用于文件名的匹配. *   :任意长度的任意字符 ?   :匹配任意单字符 []  :匹配指定范围内的任意单字符 例:[abc], [a-z], [0-9], [0-9a-z] [^] :匹配指定范围以外的任意单字符 例:[^0-9a-z] 字符集合: [:space:] :所有空白字符 [:punct:] :所有标点符号 [:lower:] :所有小写字母 [:upper:] :所有大写字母 [:digit:] :所有数字 [:alnum:]

linux中telnet 带外管理服务器的设置

带外操作就相当于交换机路由器中的管理一样的. 首先我们要先进入Linux中.我的Linux是虚拟机这是我首先告诉大家的. 1第一步:先把磁盘挂载到 /mnt中 rpm –qa|grep xinetd   (查看安装的安装包) telnet 的主程序安装包是 xinetd-2.3.14-10.e15 telnet-server-0.17-39.e15.i386.rpm x现在就安装好了 他的配置文件在/etc/xinetd.d/telnet/中 把配置文件中的diasble=yes 改为no 这样

linux终端中的通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名).当查找文件夹时,可以使用它来代替一个或多个真正字符:当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符. 终端里面输入的通配符是由 Shell 处理的,不是由所涉及到命令语句处理的,它只会出现在命令的"参数值"里(它不用在 命令名称里, 命令不记得,那就用Tab补全).当 Shell 在"参数值"中遇到了通配符时,Shell 会将其当作路

linux中nc命令带示例详解

Linux中nc命令是一个功能强大的网络工具,全称是netcat. 语法: nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...] 参数说明: -g<网关> 设置路由器跃程通信网关,最丢哦可设置8个. -G<指向器数目> 设置来源路由指向器,其

linux中shell编程

shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚本:方式1 :chmod 755 hello.sh ./hello.sh 方式2 :bash ./hello.sh(这种方式不需要给执行权限) 1 历史命令 history 直接回车就可以看到已经敲过得命令.-c清空缓存中和文件中的命令 -w将缓存中命令写入 家目录/.bash_history 这个命令可以帮

Linux中常用的查找文件的命令

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. which       查看可执行文件的位置 whereis    查看文件的位置 locate       配合数据库查看文件位置 find          实际搜寻硬盘查询文件名称 (find也可以根据文件大小-size 时间-atime 正则表达式-regex) 1.which 语法:  [r

Linux中rename命令用法学习 修改文件名

如何用命令修改文件名呢?在linux下可以用rename命令,当然还可以使用mv命令,这里分享下linux rename命令的用法. 有一部分人说linux下没有rename命令,建议大家用mv命令.对rename命令和mv命令在重命名文件方面做一个比较,大家根据个人喜欢选择使用吧. mv命令,在man mv中对于mv命令的介绍:mv -move(rename) files 可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下:mv [path/]oldfilen

linux文件名匹配——通配符使用

背景:在linux使用过程中,经常需要查找文件,对命令中的通配符pattern和正则表达式的区分不是很清楚.有必要好好研究一下. 1 扫盲 1.1 通配符和正则表达式 当在使用命令行时,有很多时间都用来查找你所需要的文件,如ls find等. S h e l l提供了一套完整的字符串模式匹配规则,或者称之为元字符,当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,我理解这可以称为通配符. 通配符与正则表达式是有区别的,简