我设计了一个带有一个带文件名的文本字段的网页,我将把它作为文件名并保存在Linux系统中
我需要知道哪种特殊字符组合(,“。”;><?/ | {} [] = + - _ *& ^%$#@!)可以命名该文件和哪些不在Unix文件系统中 因为我需要验证用户输入的文件名,Linux系统是否支持
例如:“。txt不支持,但'.txt支持
我研究Linux支持除('/'和'\ 0')
之外的所有内容如何知道哪些会支持哪些不支持(因为有很多与上述特殊字符的组合)
答案 0 :(得分:0)
这取决于文件系统。您应该编写适用于任何文件系统的代码。
在任何情况下都要避免:/
和\
,因为一个在UNIX中不起作用,另一个在Windows中不起作用。
避免让生活更轻松:各种各样的空间,即(不仅仅是空白)。要了解原因,请尝试在Windows和Unix中创建和删除名为“\ t \ r \ n”的文件。仅仅因为文件名中允许使用 空格并不意味着使用它们是一个好主意,有些工具可能无法正确处理它们并且它使命令行中的生活更容易(记住,a ??那个决定在Windows中命名一个重要文件夹“Program Files”的洞肯定会在地狱中燃烧,因为他每周都会为他的邪恶行为投入数百万的诅咒。
让人们的生活更轻松:没有shell特殊字符$& |,引用字符等。此外,名称包含的目录;或者a:在Windows或Unix上无法在PATH(或类路径)中使用。
答案 1 :(得分:0)
文件名可以是任何字符,但是我们无法使用/和\ 0,因为有时我们可以 使用\ 0,在你输入ls命令时看不到文件名,所以我们应该这样做 不要使用\ 0 -NULL
cat>空间只是给了空间后的\ 当你输入ls -l时它会创建文件然后你会找到创建的文件。
Unix支持所有特殊字符作为文件名。