文件名中禁止使用的字符主要包括以下几类,具体规则如下:
一、系统保留字符
路径分隔符 - 斜杠(/):
Linux系统中用于目录分隔,Windows中可能引发路径解析错误。
- 反斜杠(\):Windows系统中的路径分隔符,跨平台时会导致路径错误。
特殊符号 - 冒号(:):
常用于表示时间戳或系统特殊用途,文件名中禁止使用。
- 星号(*):通配符,系统可能误认为在进行文件搜索。
- 问号(?):通配符,可能被系统误认为搜索操作。
- 双引号(""):界定字符串,文件名中会出现时会被系统误解析。
- 尖括号(<>):表示大小关系,在文件名中有特殊含义。
- 竖线(|):命令行分隔符,文件名中可能引发冲突。
- 分号(;):命令分隔符,禁止用于文件名。
控制字符 - 冒号(:):
同上。
- 分号(;):同上。
二、其他禁止内容
空格 - 虽然部分系统允许文件名中包含空格,但某些操作(如移动、重命名)可能因空格引发错误。
非法字符
- @: 部分系统可能限制使用。 - ^&()
三、命名规则补充
长度限制:Windows系统下文件名总长度不得超过255个字符(含扩展名),Linux系统无明确限制但存在平台差异。
大小写敏感性:Windows显示文件名时保留大小写,但实际存储不区分大小写(POSIX系统相反)。
扩展名处理:文件名与扩展名之间用“.”分隔,扩展名可选可不选。
四、常见错误示例
非法文件名:`example file.txt`(Windows下可能被识别为命令)。
跨平台问题:在Linux系统中可创建的文件名(如`my document.pdf`),在Windows中可能因路径分隔符错误无法创建。
通过遵循上述规则,可以避免因文件名不规范导致的系统错误或文件访问问题。