我正在尝试定义一个强大的文件命名方案,以便在我使用的系统中使用。我在大学实验室工作,我处理所有三个主要操作系统:Linux、MacOS、Windows。因此,我想坚持使用可以轻松用于所有主要操作系统的东西。
目前我的文件/文件夹命名规则非常简单:
- 仅使用英文字母中的小写字母和数字
- 没有空格,使用下划线 (_) 作为分隔符
- 其他任何事情都是被禁止的
虽然这很简单并且适用于跨系统,但限制太多。
例如,许多现代文件/文件夹搜索工具在文件名中包含空格可能很方便。事实上,如果我搜索“XXX YYY”,大多数这些工具都会查找文件名中包含这两个序列的所有文件/文件夹。没有空格则不是这种情况。
另一个例子是音乐专辑。大多数软件的命名方案都是“艺术家-专辑标题”、“艺术家-年份-专辑标题”等。
我的问题是:
文件/文件夹名称中的空格有多危险?我被告知,为了确保系统良好且易于维护,最好避免使用空格。事实真的是这样吗?
我一直被告知,另一个好规则是避免使用破折号 (-)。但我意识到,例如在 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 中从技术上来说是允许的,但是会导致各种各样的麻烦。
其余内容都是主观的,超出了本网站的范围。