通配符就是通用的匹配信息的符号,比如星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。下面我们就来匹配所有在/dev目录中且以sda开头的文件:

    1. $ ls -l /dev/sda*
    2. brw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda
    3. brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
    4. brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2

    如果只想查看文件名为sda开头,但是后面还紧跟其他某一个字符的文件的相关信息,该怎么操作呢?这时就需要用到问号来进行通配了。

    $ ls -l /dev/sda?
    brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
    brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
    

    除了使用[0-9]来匹配0~9之间的单个数字,也可以用[135]这样的方式仅匹配这三个指定数字中的一个,若没有匹配到,则不会显示出来:

    $ ls -l /dev/sda[0-9]
    brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
    brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
    $ ls -l /dev/sda[135]
    brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1