Linux——字符通配符
阿新 • • 發佈:2018-07-14
mmm secure 一個數 ESS code 用戶 str roo ssl
6.) [:lower:]: 表示小寫字母
7.) [:digit:] :表示任意數字 等於0-9
8.)[:blank:]:水平空白字符
當我們使用 命令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——字符通配符