Linux學習筆記——Linux文件名及Shell文件通配符

一 文件和目錄的命名

  • 名字長度
    • 允許1-256 字符
  • 取名的合法字符

文件名的字符包括:字母、數字、. (點)、_(下滑線)和 - (連字符)
有些轉意字符在Linux的命令解釋器(shell)中有特殊的含義。例如:?(問號)、*(星號)、 (空格)、$(貨幣符)、&、擴號等等。在文件名中應儘量避免使用這些字符。文件名可以有 (空格),但建議用戶用 _ (下劃線) 來替代。
文件名大小寫字母有區別

二 文件通配符規則

  • 星號 *
    • 匹配任意長度的文件名字符串(包括空字符串)
  • 點字符(.)
    • 當它作爲文件名或路徑名分量的第一個字符時,必須顯示匹配
  • \ (反斜線)
    • 它屏蔽後繼特殊字母的特殊含義(轉意),使該字符僅取其符號所代表的字面意義。

例: *file 匹配 file, makefile, 不匹配 .profile文件,try*c 匹配 try1.c try.c try.basic

  • 問號 ?
    • 匹配任一單字符
  • 方括號 [ ]
    • 匹配括號內任一字符,也可以用減號指定一個範圍

例:[A-Z]* 匹配 A.c B.h C …
*.[ch] 匹配 file.c file.h
[Mm]akefile 匹配 Makefile makefile

注:文件名通配符規則與正則表達式的規則不同,應用場合不同
不同種類Shell通配符規則會略有些差別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章