我的家庭网络中有一个恼人的现象。
我的 NAS 是 Synology,3 个工作站是基于 Apple 的,1 个是 Windows 10。
最近我在使用 Apple finder 复制文件时遇到了问题,当它偶然发现下面的目录时它会发出嘶哑的声音。
Antonín_Dvorák--Symphonien_No._8+No._9-»Aus_der_Neuen_Welt«-(Kubelik)/
当我在命令行中使用ls -li查看它时,我看到了 2 个名称明显相同但 inode 不同的目录。
441472264 drwxr-xr-x 2 admin users 4096 Mar 2 15:38 Antonín_Dvorák--Symphonien_No._8+No._9-»Aus_der_Neuen_Welt«-(Kubelik)/
441472320 drwxr-xr-x 2 admin users 4096 Mar 2 15:38 Antonín_Dvorák--Symphonien_No._8+No._9-»Aus_der_Neuen_Welt«-(Kubelik)/
Windows 文件资源管理器显示的名称确实略有不同。
在 Linux 上,它们的显示方式完全相同。
我尝试过的一些实用程序没有目录问题,但其他实用程序有。用ls 查看
十六进制转储| od -xc,我发现Antonín_Dvorák这个名字对于í和á有 2 种不同的 Unicode 表示
0000000 6e41 6f74 696e 81cc 5f6e 7644 726f cc61
A n t o n i 314 201 n _ D v o r a 314
0000020 6b81 2d2d 7953 706d 6f68 696e 6e65 4e5f
201 k - - S y m p h o n i e n _ N
0000000 6e41 6f74 c36e 6ead 445f 6f76 c372 6ba1
A n t o n 303 255 n _ D v o r 303 241 k
我不知道这是怎么发生的,但我怀疑复制或备份会造成混乱,因为当深入挖掘时,我在我的古典音乐收藏中发现了很多类似的项目。
有没有人看到过类似的问题,并且可能对此有更多的了解?
是的
相似之处在于两个不同的文件名可以在视觉上看起来相同。
不够相似,无法帮助您了解具体案例的确切原因。
我想你可能已经正确地描述了它。
Unicode有“标准形式”,旨在减少此类问题。
在不同系统之间传输数据的软件可能会转换为规范化形式,以防止这种情况发生。就像文件传输协议 (FTP) 将更改文本文件中特定于平台的行尾一样 - 这可能会导致问题。我想在某些情况下,任何形式的改变,包括规范化,实际上都可能使问题变得更糟。
有关的:
https://apple.stackexchange.com/questions/95483/utf8-filenames-and-shell-utilities - 它提供了有关如何解读混乱的线索 - 尽管不是如何防止未来发生。
http://manpages.ubuntu.com/manpages/bionic/man1/convmv.1.html这是一个可能在 OSX 上可用的潜在有用工具?