主流的操作系统都有文件的概述,文件存放数据的最根本单位。为了访问,每个文件都有唯一一个文件名用于标记文件。在程序设计,我们经常有创建文件的操作。在创建文件时,需要给新创建的文件起一个名子,这时候要特别小心,如果你的文件名没起好,以后一定会带来新的坑。

以下是笔者根据多年的经验,总结出来的文件名的禁用字符:
注意:在windows资源浏览器中1-10是无法直接创建的,但是在不同的环境却是可以的。比如 : 在Linux中直接就可以创建。当在多平台上交互时就会出现问题。

序号内容说明
1/Linux的路径分隔符,使用后会导致路径错误。
2\Windows的路径分隔符,使用后会导致路径错误。
3:一些编译语言,如java会用它作用文件间的分隔符。
4?在很多控制台命令中,会当成通配符使用。
5*在很多控制台命令中,会当成通配符使用。
6|一些语言中被当成分隔符使用,如Markdown的制表符。
7"大多数语言中会被当成字符串的开始和结束符,必需转义使用。
8'一些语言,如Python中,会作为字符串开始和结束符使用。
9<在HTML或XML中标签开始的标记。
10>在HTML或XML中的标签结束标记。
11空格在DOS中,会被当成分隔符使用,必需加引号才可正常工作。
12$在很多环境中会被当成变量开始符号,如Shell。

推荐使用的安全非字母和数字符号。

序号内容说明
1_下划线任何语言中都可以使用的安全字符。
2@因邮件地址而出名,可以安全使用(注意不要和自己的邮件地址冲突)
3+ or -这两个符号虽然也做为运算符,但是作为文件名是没有任何问题的。
4.安全,虽然在 windows 中作为后缀的分隔附,但是不影响正常使用。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐