码迷,mamicode.com
首页 > 系统相关 > 详细

Linux——字符通配符

时间:2018-07-14 20:39:10      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:lvm   隐藏   proc   方法   结果   template   用户   linu   code   

当我们使用 命令ls 来查看目录或文件时,有时只需要查看特定的目录或文件,这个时候便需要使用文件名通配符,也称字符通配符。

在这里需要特别说明,在cd /etc/后,转到etc目录下,使用 ls时,需要加上 选项 –d 这样结果显示目录名或文件名,不会将目录展开显示。也可不加。

至于对ls命令的用法想了解的可自行查找。

接下来,我将对通配符通过举例来进行解释说明。

 

1.)    * :用来匹配0或多个任意字符

例如: ls  *  查找/etc下的任意字符的文件或目录

[root@mmmm etc]# ls -d *
3dkdj                    maven
3fgfj                    mime.types
3fgfj[]                  mke2fs.conf
3jsjdl[]                 modprobe.d
abrt                     motd
acpi                     mtab

 



 

2.)  ? :匹配任意1个字符,即一个字符匹配一个字符

例如 :ls  ???  查找/etc下的长度为任意三个字符的文件或目录

[root@mmmm etc]# ls -d ???
253  786  hal  jvm  lvm  opt  ppp  rpm  ssh  X11  xml
333  gdm  ipa  kde  ntp  pki  rpc  scl  ssl  xdg  yum

 


 

3.)  [0-9]  :一个[0-9]只表示一个0-9之间的数字


例如 :ls  [0-9] [1-2][0-9] 3[0-9]使用touch {1..100} 创建1到100这100个文件,显示1-35

[root@mmmm etc]# ls  [0-9] [1-2][0-9] [3][0-5]
1   11  13  15  17  19  20  22  24  26  28  3   31  33  35  5  7  9
10  12  14  16  18  2   21  23  25  27  29  30  32  34  4   6  8

 


 

4.) [a-z] : 表示aAbBcC……z,无法显示Z

         [A-Z]:  表示AbBcC……Z,无法显示z

         [a-Z] : 表示所有大小写字母

eg: 查找/etc 目录下 开头为任意字母的长度为三的文件或目录

[root@mmmm etc]# ls -d [a-z]??
gdm  ipa  kde  ntp  pki  rpc  scl  ssl  xdg  yum
hal  jvm  lvm  opt  ppp  rpm  ssh  X11  xml

 

 

 

5.) [ae] : 表示是a或e的单一字符

        [^ae] :表示即不是a也不是e的其他任意单一字符

eg:    只显示/etc下的非隐藏目录

[root@mmmm etc]# ls  -d /[^.]*
/app   /lib64       /proc     /tmp
/bin   /lost+found  /root     /usr
/boot  /media       /sbin     /var
/dev   /misc        /selinux  /VMwareTools-10.1.6-5214329.tar.gz
/etc   /mnt         /srv      /vmware-tools-distrib
/home  /net         /sys
/lib   /opt         /testdir

 

eg: 只显示用户家目录下的非隐藏目录

 1 [root@mmmm ~]# ls -1 /home/[^.]*
 2 /home/centos:
 3 Desktop
 4 Documents
 5 Downloads
 6 Music
 7 Pictures
 8 Public
 9 Templates
10 Videos
11 
12 /home/www:

 


 

 

6.) [:lower:]: 表示小写字母
        [:upper:]:表示大写字母
        [:alpha:]: 表示大小写字母

eg:      显示/etc目录下,文件名至少包含一个小写字母和一个数字并以.conf结尾的文件或目录

(ps:选项-1为将ls 查找的结果单项列出)

1 [root@mmmm ~]#  ls -d1 /etc/*[[:lower:]]*[0-9]*.conf
2 /etc/krb5.conf
3 /etc/mke2fs.conf
4 /etc/pbm2ppa.conf
5 /etc/pnm2ppa.conf

 

 

 

 

7.) [:digit:] :表示任意数字 等于0-9
        [:alnum:]: 表示任意字母及数字 等于a-Z0-9或用[[:digit:][:alpha:]]来表示

eg:显示/etc目录下,所有以一个大写字母开头,以两个数字结尾的文件或目录

1 [root@mmmm ~]# ls -d1 /etc/[[:upper:]]*[[:digit:]][[:digit:]]
2 /etc/Kdhu67
3 /etc/Ldf88
4 /etc/S0099
5 /etc/Sdjfdjg988
6 /etc/Sdjfdjg9897
7 /etc/X11

 

eg:显示/var/log目录下文件名包含符号及数字的文件或目录

 1 [root@mmmm ~]# ls -d1  /var/log/*[[:punct:]]*[[:digit:]]*
 2 /var/log/btmp-20191120
 3 /var/log/cron-20191120
 4 /var/log/maillog-20191120
 5 /var/log/messages-20191120
 6 /var/log/secure-20191120
 7 /var/log/spooler-20191120
 8 /var/log/vmware-vgauthsvc.log.0
 9 /var/log/Xorg.0.log
10 /var/log/Xorg.0.log.old
11 /var/log/Xorg.9.log

 

 

8.)[:blank:]:水平空白字符
       [:space:]:水平或垂直空白字符 文件名不可能包含回车,故此处使用与[:blank:]:效果相同


9.)[:punct:]: 表示符号

  使用方法见用法7中的例题。

 

Linux——字符通配符

标签:lvm   隐藏   proc   方法   结果   template   用户   linu   code   

原文地址:https://www.cnblogs.com/0715mmmm/p/9308636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!