CentOS 文件通配符;预定义字符;简单举例

文件通配符使用举例

* 匹配零个或者多个字符

~]# ls x* 比如搜索以x开头的文件或者目录

wKioL1ebPLKj8UvBAAAzIiYVDSI287.png


? 匹配任何单个字符

~]# ls x? 搜索以x打头的文件或者目录 单个字符补上

wKiom1ebPe7wOql8AAAeuIR6Js4912.png

^ 取得反向值

~ 当前用户家目录

~]# cd 回到家目录

wKioL1ebPmnh4QndAAAMcK0WGJg670.png


~username ~]# cd ~makangbo 回到用户家目录

~]# ll ~/ 也可以访问目录或文件

wKiom1ebPxmAlCuQAABLONwndO8545.png

~+ 当前工作目录

/]# cd ~+ 类似于.显示当前所在工作目录

/]# ls ~+ /root 也可以访问目录或者文件

wKiom1ebQevwAZo9AACJOX5ps-4176.png


~- 前一个工作目录

/]# cd 例如我先cd回到家目录 然后 ~]# cd ~- 输入cd ~-回到前一个工作目录

wKioL1ebQtPgOOy_AAAxOxU_1C4931.png


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

wKioL1ebRGGQt2cGAABZ5iw0-9E876.png


[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的范围


wKioL1ebRezgi2jKAACAk9M6nMQ097.png


*:任意个字符

?: 任意单个字符

[]:指定范围内任意单个字符

[^]:指定范围外的单个字符




预定义的字符类:# 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开头的文件以‘任意数字或大小写字母’为结尾的文件

wKioL1ebSuCC-SBZAARQL2-c00k657.jpg







练习

1:显示/var目录下所有以m开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

~]# ls -1 /var/m*[[:digit:]]*[[:lower:]]

(按照每行一个文件排列)*:匹配零个或者多个字符;[[:digit:]]任意数字开头;[[:lower:]]小写字母



wKioL1ebTIeBsCOnAAAuZMwyAfw099.png




2:显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

~]# ls -l /etc/[[:digit:]]*[^[:digit:]]

(按照长列表显示) 数字 ^取反符,取反非数字

wKiom1ebTSXR8CFBAAAjGlc82ac238.png


3:显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

~]# ls -l /etc/[^[:alpha:]]*[[:alpha:]]

(按照长列表显示)^取反任意字母的值(意思就是取得非字母开头)

而后跟一个任意长度;任意字符 ;任意字母;

wKioL1ebTeizptKzAAAjp4jf5No752.png



4:显示/etc目录下所有以m开头以非数字结尾的文件或目录。

~]# ls -l /etc/m*[^[:digit:]]

(按照长列表显示)m开头*匹配零个或者多个字符;^取反数字的值(就是非数字)显示出来m****

wKiom1ebTpDwDZ78AAA7Xu-YVxI974.png


5: 显示/etc目录下,所有以.d结尾的文件或目录

~]# ls -ld /etc/[[:alnum:]]*.d

(ld只显示列表目录本身,不显示内容)任意数字或字母开头 ;

*匹配零个或者多个字符 以.d为结尾的所有文件或者目录

wKioL1ebVcXCLWcgAACMH8GvDo4866.png



6:显示/etc目录下,所有.conf结尾,且以,m,n,r,p开头的文件或者目录

~]# ll /etc/[m:r:n:p]*.conf

(打开文件列表)题目要求是以m,p开头的文件 就用[m:r:n:p]把需要的字符围起来加上*(所有)最后以.conf结尾


wKioL1ebV2vwqVqeAACk8G2u3v0676.png


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

j_0058.gif


作者:小马哥(xiaomag)

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...