寻求完美的文件命名方案:空格、破折号和下划线

寻求完美的文件命名方案:空格、破折号和下划线

我正在尝试定义一个强大的文件命名方案,以便在我使用的系统中使用。我在大学实验室工作,我处理所有三个主要操作系统:Linux、MacOS、Windows。因此,我想坚持使用可以轻松用于所有主要操作系统的东西。

目前我的文件/文件夹命名规则非常简单:

  1. 仅使用英文字母中的小写字母和数字
  2. 没有空格,使用下划线 (_) 作为分隔符
  3. 其他任何事情都是被禁止的

虽然这很简单并且适用于跨系统,但限制太多。

例如,许多现代文件/文件夹搜索工具在文件名中包含空格可能很方便。事实上,如果我搜索“XXX YYY”,大多数这些工具都会查找文件名中包含这两个序列的所有文件/文件夹。没有空格则不是这种情况。

另一个例子是音乐专辑。大多数软件的命名方案都是“艺术家-专辑标题”、“艺术家-年份-专辑标题”等。

我的问题是:

  1. 文件/文件夹名称中的空格有多危险?我被告知,为了确保系统良好且易于维护,最好避免使用空格。事实真的是这样吗?

  2. 我一直被告知,另一个好规则是避免使用破折号 (-)。但我意识到,例如在 Linux 世界中,整个系统都使用破折号。例如,ISO 标准日期类似于“2019-05-17”。

你对这些问题有什么看法?我真的很想知道你最喜欢的文件/文件夹命名方案是什么

最好的皮特罗

答案1

仅使用英文字母中的小写字母和数字

大写字母是免费的。Windows 不区分大小写,但会保留大小写。(当然,避免使用多种的文件名仅大小写不同,因为 Windows 只允许访问其中一个。

所有列出的操作系统都支持 Unicode,因此使用俄语或韩语命名文件应该没有问题。(某些程序,例如 Dropbox,仅支持最高 U+FFFF 的 BMP,即不支持表情符号或其他现代非 BMP 添加 - 但仅此一项就已涵盖了世界上大多数语言。您可以在https://codepoints.net或类似的网站(如果您不确定)。

文件/文件夹名称中的空格有多危险?我被告知,为了确保系统良好且易于维护,最好避免使用空格。事实真的是这样吗?

对于常规文档/音乐/图片,文件名中间的空格实际上从来不是问题。由于必须用引号引起来,因此在命令行中它们会有点不方便,但通常就是这样。

(Windows 中不允许末尾有空格,前导空格可能导致问题。

另一方面,对于开发或系统文件,我强烈建议避免使用空格。

有些工具不喜欢它们——如果你曾经尝试编译一个使用“自动工具”或其他构建系统的程序,或者只是一个写得很差的 Makefile,它将会难的当路径中的任何地方有空格时这样做。

某些程序(最常见的是系统守护程序)也使用配置文件,这些配置文件需要以空格分隔的路径列表。其中一些程序允许在名称中使用引号或转义空格,而另一些程序则不允许。

我一直被告知,另一个好规则是避免使用破折号 (-)。但我意识到,例如在 Linux 世界中,整个系统都使用破折号。例如,ISO 标准日期类似于“2019-05-17”。

中间的破折号永远不是问题。领导破折号通常会带来问题,因为命令行程序可能会将它们混淆,--options并且您必须使用其他语法才能使用此类文件名。

然而,这通常仍然是一个很容易避免的问题。例如,rm -file-不会工作,但rm ./-file-会。图形程序根本没有这个问题(除非它们在后台运行 CLI 工具)。


其他可能出现的问题(文件夹比文件更可能出现):

  • 通常的Windows禁用字符集:: < > ? * " \ / |
  • 在 Linux 上,以句点 ( .) 开头的名称被视为“隐藏文件”。
  • Windows 中不允许使用以句点 ( .) 或空格 ( ) 结尾的名称。
  • 某些程序可能会将以波浪符号 ( ~) 结尾的名称忽略为“备份文件”。
  • 多行文件名,虽然在 Linux 中从技术上来说是允许的,但是会导致各种各样的麻烦。

其余内容都是主观的,超出了本网站的范围。

相关内容