1. 程式人生 > >帶你認識Linux中的通配符

帶你認識Linux中的通配符

查看 inux process water 圖片 顯示 技術 pro 開頭

通配符是一種特殊語句,用來模糊搜索文件,當查找文件夾時,可以使用它來代替一個或多個真正的字符,它使得文件管理更加快速,便捷,大大的提升了工作效率。

常用的通配符有 * 、? 、[] 等(可通過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:]]顯示當前目錄下 所有以字母或數字結尾的文件和目錄:

技術分享圖片

到此為止,常用的通配符使用方法就介紹到這裏了。

帶你認識Linux中的通配符