验证文件路径

时间:2010-08-24 19:28:37

标签: linux macos filenames

我们要验证文件路径,例如foo/bar,用户可以输入。是否可以在OS X或Linux上创建具有前导或尾随空格的文件,例如foo/ bar /bazz

3 个答案:

答案 0 :(得分:1)

touch ' foo '

在linux上没问题。

答案 1 :(得分:1)

在大多数文件系统中,您可以在linux上使用,不允许在文件名中使用“/”和NULL字符。这就是全部:))

答案 2 :(得分:1)

使用标准Mac OS HFS +文件系统(大多数用户计算机上的默认系统)对OS X进行快速实验。 顶部创建和安装更传统的Unix文件系统是可能的。

ls > " foo "
ls > "foo "
ls > " foo"
ls > foo


24 Aug 23:32  foo 
24 Aug 23:32 foo 
24 Aug 23:32  foo
24 Aug 23:32 foo

ls > "foo/ "
-bash: foo/ : Not a directory

所以 - 领先和尾随空间 - 是的。这确保了与传统Mac OS文件的兼容性。 使用/ - no。

现在尝试

ls > Foo

我们看到'foo'已更新。 HFS默认情况下不区分大小写(可以启用它,但如果需要,可能最好使用完全替代的FS)

24 Aug 23:40 foo

如果您的代码期望Foo和foo都存在,这显然会导致将某些标准Unix代码转换为OS X的问题。