一 文件和目录的命名
- 名字长度
- 允许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通配符规则会略有些差别