嗨,我今天在 MacBook 上遇到了一个奇怪的行为:我在桌面上有一个名为“FOO”(全大写)的目录,然后我在另一个目录中创建了一个名为“foo”(无扩展名)的文件并将其移动到桌面,系统询问我是否要覆盖该目录。这看起来很奇怪,我用其他文件和目录进行了一些测试,结果发现系统对文件和文件夹没有任何区别(这是合理的,因为它们都是 iNode),但更奇怪的是它不关心名称的大小写。我也尝试通过命令行,情况是一样的。在我测试的其他 Mac 上没有发生这种情况。我从未在 Unix 系统上看到过这样的行为。有人能给我解释一下吗,告诉我 Mac 用户是否搞错了某些设置?
答案1
如果您检查文件系统,它很可能是 HFS+(不区分大小写,日志式)。在 OS X 上,这将在命名文件时保留大小写,但会将 Foo、foo、fOO 等的任何变体视为相同,因此会导致覆盖。
运行磁盘实用程序查看磁盘区分大小写,或者在终端中运行 diskutil info(例如 disk0s1)。“名称”记录将告诉您它的格式。
要强制系统区分大小写,您将需要重新格式化驱动器并丢失所有数据,因此,如果可以的话,请在运行任何恢复之前备份用户文档等。
该行为源自经典 Mac OS HFS 文件系统,UFS 将强制磁盘区分大小写。