我的家庭网络出现了一个令人恼火的现象。
我的 NAS 是 Synology,3 个工作站基于 Apple,1 个工作站基于 Windows 10。
最近,我在使用 Apple Finder 复制文件时遇到了问题,当它偶然发现下面的目录时,它就崩溃了。
安东宁·德沃夏克--第 8 和第 9 号交响曲-《来自新世界》-(库贝利克)/
当我看着它ls -li从命令行,我看到两个目录显然名称相同,但 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,我发现这个名字安东宁·德沃夏克有两种不同的 Unicode 表示形式我以及A
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
我不知道这是怎么发生的,但我怀疑是复制或备份造成了混乱,因为当我深入挖掘时,我发现我的古典音乐收藏中还有不少类似的作品。
有人见过类似的问题吗?能不能解释一下?
答案1
有谁见过类似的问题吗...
是的
相似之处在于两个不同的文件名在视觉上看起来相同。
相似度不够,无法帮助您了解具体情况的确切原因。
并且可以对此提供更多的启示吗?
我想你可能已经正确地描述了它。
有 ”范式“Unicode 的这一版本旨在减少此类问题。
在不同系统之间传输数据的软件可能会转换为规范化形式,以试图防止这种情况发生。就像文件传输协议 (FTP) 会更改文本文件中特定于平台的行尾一样 - 这可能会导致问题。我猜在某些情况下,任何形式的更改(包括规范化)实际上都可能使问题变得更糟。
有关的:
https://apple.stackexchange.com/questions/95483/utf8-filenames-and-shell-utilities- 它为你如何解决混乱局面提供了线索 - 但并未告诉你如何防止将来再次发生类似事件。
http://manpages.ubuntu.com/manpages/bionic/man1/convmv.1.html哪一个是可能在 OSX 上使用的潜在有用的工具?
SYNOPSIS convmv [options] FILE(S) ... DIRECTORY(S) OPTIONS ... --nfc target files will be normalization form C for UTF-8 (Linux etc.) --nfd target files will be normalization form D for UTF-8 (OS X etc.).