我以前从未见过这种情况 - 只是因为 Time Machine 一直出现故障才发现它(在 Mac OS X High Sierra 10.13.6 上)。大约 7 年前有人在这里问过类似的问题,但没有解决(他没有符号链接问题):OS X 中的文件名带有问号
我多次从 Disk Utility.app 运行了磁盘修复(但没有发现或修复任何错误)。
我确定唯一存在此问题的位置是 iTunes Media/Music 文件夹,因此我压缩了整个文件夹以强制进行符号链接解析。这解决了幽灵符号链接(有些有 4 个跳转,但没有源)。备份现在运行没有错误(-48 和 -8062)。
我无法修复的是文件中的随机“?”字符。
我尝试了这里指出的解决方案:从文件名中删除问号“?” OSX这似乎是完美的,但实际上没有效果。即使在 mv 操作之后,“?”仍然存在,具体来说:
find . -type f -name '*?*' | while read f; do mv "$f" "${f//\?/}"; done
在 Finder 中,没有出现 ?,并且您无法从名称中 grep “?”,因此严格来说,该字符似乎不存在。它们仅出现在终端中:
MacBook-Pro:Welcome Reality +$ ls -lsuG
total 177456
20656 -rw-r--r-- 1 User group 10572851 Jan 12 09:31 02 ?Doomsday.mp3
14944 -rw-r--r-- 1 User group 7645727 Jan 12 09:31 03 My Eyes (G3dit).mp3
23632 -rw-r--r-- 1 User group 12093176 Jan 12 09:31 03 ?My Eyes.mp3
18768 -rw-r--r-- 1 User group 9605621 Jan 12 09:31 04 Guilt.mp3
20336 -rw-r--r-- 1 User group 10407761 Jan 12 09:31 06 ?Me and You.mp3
19968 -rw-r--r-- 1 User group 10220743 Jan 12 09:31 11 ?Must Be the Feeling.mp3
17104 -rw-r--r-- 1 User group 8749666 Jan 12 09:31 13 Promises.MP3
19920 -rw-r--r-- 1 User group 10194622 Jan 12 09:31 15 ?Won't You (Be There).mp3
21952 -rw-r--r-- 1 User group 11232230 Jan 12 09:31 17 ?Promises (Skrillex & Nero Remix).mp3
16 -rw-r--r-- 1 User group 7366 Jan 12 09:31 AlbumArtSmall.jpg
80 -rw-r--r-- 1 User group 35880 Jan 12 09:31 Folder.jpg
MacBook-Pro:Welcome Reality +$ find . -type f | grep ?
*[no results returned]*
MacBook-Pro:Welcome Reality +$ find . -type f | grep M
./03 My Eyes (G3dit).mp3
./03 My Eyes.mp3
./06 Me and You.mp3
./11 Must Be the Feeling.mp3
./13 Promises.MP3
以下是我在 Finder 中看到的内容:
2019 年还有人知道这里发生了什么吗?
答案1
正如 @Gordon Davisson 正确指出的那样,这个字节序列对应于 BOM Unicode 字符,以 8 位编码:
357 273 277 (in octal) = EF BB BF (in hexadecimal)
要批量删除它:
- 得到自制如果你还没有
- 使用以下命令获取重命名命令
brew install rename
- 要删除音乐文件夹中每个文件名中的此 BOM 字符:
find ~/Music -type f -exec rename 's/\o{357}\o{273}\o{277}//' {} \;
您可能想先在单个文件上尝试一下:
rename 's/\o{357}\o{273}\o{277}//' /path/to/file/*oomsday*
说到文件名,您不能真正相信 Finder 上看到的内容,也不能相信ls
终端中的命令,因为它们只显示了所有可能代码的有限表示。od
当您感到困惑时,该命令可以方便地显示这些确切的代码。
答案2
iTunes 在管理音乐方面一直比较“混乱”(例如与 WinAMP 相比),但它是免费的,并且可以使音乐保持井井有条。
@Yoric 接受了删除文件名中明显的“?”字符的正确答案,但我想为将来可能遇到此问题的其他人添加这个答案……
如果“保持 iTunes 媒体文件夹有序”选项处于打开状态,iTunes 就会开始创建符号链接和这些错误的“?”(357 273 277)_8 条目。我不知道在之前的 OS X 版本中会发生这种情况,但在 10.13 中,这种情况显然发生了。
如果 Time Machine 出现故障,请使用以下命令从终端查看日志文件:
clear; printf '\e[3J' && log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep -F 'eMac' | grep -Fv 'etat' | awk -F']' '{print substr($0,1,19), $NF}'
(我不记得我在哪儿找到这个——应该归功于作者)。
如果您在 iTunes 音乐中看到错误 -48 和 -8062,那么 iTunes 就是罪魁祸首。关闭 iTunes 文件夹组织,直到一切正常。进行干净备份,然后尝试再次打开它。