Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

文件名通配符

  • *

    • 匹配 任意多个字符
    • 例子
      • * 所有文件
      • g* 以g开头的所有文件
      • b*.txt 以b开头的txt文件
    • 注意
      • *不能匹配以点号开头的文件(即隐藏文件)
        • 若要匹配,请使用.[!.]*这种模式
        • 但这个只是匹配出 一个点号加后面非点号 的文件,忽略了...这两个,而且无法列出多个点号开头的隐藏文件
        • 建议使用ls -A,可以完美列出
  • ?

    • 匹配 任意单个字符
    • 例子
      • Data??? 以Data开头且后面跟三个任意字符的文件
  • [字符集合]

    • 匹配 属于字符集合中的 任意单个字符
    • 加上感叹号的 [!字符集合] ,表示不属于
    • 字符集合有两种写法
      • 直接写字母或数字进去
        • [abc]* 以a或b或c开头的文件
        • BACK-[0-9][0-9] 以BACK-开头且后面跟两个数字的文件
        • 注意
          • 不建议使用[a-z]这种传统linux写法,而是要用下面的字符类,因为很可能产生意料之外的结果
      • 用字符类表示
        • [:alnum:] 字母+数字
        • [:alpha:] 字母
        • [:digit:] 数字
        • [:lower:] 小写字母
        • [:upper:] 大写字母
        • 例子
          • [[:upper:]]* 以单个大写字母开头的文件
          • [![:digit:]]* 不以数字开头的文件
          • *[[:lower:]12] 以单个小写字母或1或2结尾的文件