-2

我设计了一个网页,其中包含一个带有文件名的文本字段,我将其作为文件名并保存在 Linux 系统中

我需要知道允许使用哪种特殊字符组合(, . " ' : ; > < ? / | { } [ ] = + - _ * & ^ % $ # @ !) 来命名文件,哪些不是在Unix文件系统中。因为我需要验证用户输入的文件名,它是否支持Linux系统

例如:“.txt 不支持但 '.txt 支持

我研究 Linux 支持所有但('/' 和 '\0')

如何知道哪些支持哪些不支持(因为上面的特殊字符有很多组合)

4

2 回答 2

0

文件名可以是任何字符,但 / 和 \0 我们不能使用,因为有时我们也可以使用 \0,当你输入 ls 命令时你看不到文件名,所以我们不应该使用 \0 -NULL

cat > \space 只需在 \ 之后留出空间,当你输入 ls -l 时它会创建文件,然后你会找到创建的文件。

Unix 支持所有特殊字符作为文件名。

于 2013-10-25T11:16:42.290 回答
0

这完全取决于文件系统。您应该编写适用于任何文件系统的代码。

在任何情况下都要避免:/因为\一个不能在 UNIX 中工作,另一个不能在 Windows 中工作。

为了避免让生活更轻松:各种类型的空间,即(不仅仅是空白)。要了解原因,请尝试在 Windows 和 Unix 中创建和删除名为“\t\r\n”的文件。仅仅因为文件名中允许使用空格并不意味着使用它们是一个好主意,一些工具可能无法正确处理它们,并且它使命令行中的生活更容易(记住,决定命名重要的 a??hole Windows 中的“Program Files”文件夹肯定会在地狱中燃烧,因为他的恶行每周都有数百万的诅咒。)

为了让人们的生活更轻松:没有 shell 特殊字符 $&|、引号字符等。此外,名称包含 ; 的目录 或者 : 在 Windows 或 Unix 上的 PATH(或类路径)中是不可能使用的。

于 2013-10-25T10:49:00.560 回答