文件通配符使用举例
* 匹配零个或者多个字符
~]# ls x* 比如搜索以x开头的文件或者目录

? 匹配任何单个字符
~]# ls x? 搜索以x打头的文件或者目录 单个字符补上
![ZV7%UX3RGT)})3(}S}$I]XI.png wKiom1ebPe7wOql8AAAeuIR6Js4912.png](https://resources.devmax.cn/uploads/20230727/56fb61d239180047ad761436dff79454.png)
^ 取得反向值
~ 当前用户家目录
~]# cd 回到家目录
![0%)C5]}U3J`3VN8HTZA9EEQ.png wKioL1ebPmnh4QndAAAMcK0WGJg670.png](https://resources.devmax.cn/uploads/20230727/56fb61d239180047ad761436dff79454.png)
~username ~]# cd ~makangbo 回到用户家目录
~]# ll ~/ 也可以访问目录或文件
![JU[Z_)4H_)$(_5)R$P9]5XY.png wKiom1ebPxmAlCuQAABLONwndO8545.png](https://resources.devmax.cn/uploads/20230727/56fb61d239180047ad761436dff79454.png)
~+ 当前工作目录
/]# cd ~+ 类似于.显示当前所在工作目录
/]# ls ~+ /root 也可以访问目录或者文件
![{T$]7%L~9Z9L$KWF1V0Y9ON.png wKiom1ebQevwAZo9AACJOX5ps-4176.png](https://resources.devmax.cn/uploads/20230727/56fb61d239180047ad761436dff79454.png)
~- 前一个工作目录
/]# cd 例如我先cd回到家目录 然后 ~]# cd ~- 输入cd ~-回到前一个工作目录

~]# ll ~-/root 可以进行访问目录或者文件

[0-9] 匹配一个数字范围
~]# ll x[0-9] 访问查看以x开头[0-9]以数字结尾的文件或目录
~]# ll x[1a3] 访问查看以x开头[1;a;3;]以尾数作为结果的文件或者目录
~]# ll x[^1a3] 取反访问以x开头不是[1a3]的文件或者目录 ‘^’
[a-z] 字母范围
~]# ll x[a-c] 访问查看以x开头[a-c]字母结尾的文件或者目录
中间包括大写字母AB等字母;当然范围写的到小写字母c肯定不会到大写C
[A-Z] 格式“aAbBc” 以小些字母a开头的中间包括大写AB到小写字母c的范围

*:任意个字符
?: 任意单个字符
[]:指定范围内任意单个字符
[^]:指定范围外的单个字符
预定义的字符类:# man 7 glob
[:digit:]任意数字,相当于0-9之间 ~]# ll xiaomag[[:digit:]]
访问以xiaomag开头的文件以‘数字范围’为结尾的文件
[:lower:]任意小写字母 ~]# ll xiaomag[[:lower:]] 访问以xiaomag开头的文件以‘小写字母a-z范围之内’为结尾的文件
[:upper:]任意大写字母 ~]# ll xiaomag[[:upper:]] 访问以xiaomag开头的文件以‘大写字母A-Z范围之内’为结尾的文件
[:aplha:]任意大小写字母 ~]# ll xiaomag[[:alpha:]] 访问以xiaomag开头的文件以‘大小写字母aA-zZ范围之内先小后大’为结尾的文件
[:alnum:]任意数字或字母 ~]# ll xiaomag[[:alnum:]] 访问以xiaomag开头的文件以‘任意数字或大小写字母’为结尾的文件

练习
1:显示/var目录下所有以m开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
~]# ls -1 /var/m*[[:digit:]]*[[:lower:]]
(按照每行一个文件排列)*:匹配零个或者多个字符;[[:digit:]]任意数字开头;[[:lower:]]小写字母

2:显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
~]# ls -l /etc/[[:digit:]]*[^[:digit:]]
(按照长列表显示) 数字 ^取反符,取反非数字

3:显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
~]# ls -l /etc/[^[:alpha:]]*[[:alpha:]]
(按照长列表显示)^取反任意字母的值(意思就是取得非字母开头)
而后跟一个任意长度;任意字符 ;任意字母;

4:显示/etc目录下所有以m开头以非数字结尾的文件或目录。
~]# ls -l /etc/m*[^[:digit:]]
(按照长列表显示)m开头*匹配零个或者多个字符;^取反数字的值(就是非数字)显示出来m****
![[JA]GM2AD}3EW(8`BXCH$80.png wKiom1ebTpDwDZ78AAA7Xu-YVxI974.png](https://resources.devmax.cn/uploads/20230727/56fb61d239180047ad761436dff79454.png)
5: 显示/etc目录下,所有以.d结尾的文件或目录
~]# ls -ld /etc/[[:alnum:]]*.d
(ld只显示列表目录本身,不显示内容)任意数字或字母开头 ;
*匹配零个或者多个字符 以.d为结尾的所有文件或者目录

6:显示/etc目录下,所有.conf结尾,且以,m,n,r,p开头的文件或者目录
~]# ll /etc/[m:r:n:p]*.conf
(打开文件列表)题目要求是以m,p开头的文件 就用[m:r:n:p]把需要的字符围起来加上*(所有)最后以.conf结尾

打下基础,才能该得起高楼大厦;保持自己良好的习惯,改善坏习惯!

作者:小马哥(xiaomag)