获取大型装载驱动器的文件计数或文件列表时遇到问题



我有一个共享驱动器,其中有超过 200 万个总大小约为 2TB 的 wmv 文件。我正在尝试通过从本地 MAC 计算机使用 smb 协议安装驱动器来访问驱动器。当我跑"

$ ls -a | wc -l

命令来检查文件总数。我每次都得到不同的结果。例如,如果有时我得到的结果是 X,那么下次我得到另一个结果 Y 这是示例输出示例输出,不应该是,因为没有其他人正在访问此驱动器。当我进行更多调查时,我开始知道"ls"命令输出每次都不同。这个命令应该像我十年来一直在使用它们一样工作。是我做错了什么还是在大量数据或网络共享驱动器中,此命令失败?我确定在我进行此活动时没有访问或网络问题。任何提示或解决方法将不胜感激

当我尝试访问具有大约 200K 个文件的共享位置时,我遇到了类似的问题。就我而言,共享驱动器文件系统是NTFS文件系统。我相信SMB协议和NTFS文件系统存在兼容性问题。最后,我尝试使用"NFS"而不是"SMB"挂载共享驱动器,我可以在挂载的驱动器中获得正确数量的文件。这个问题在 WINDOWS 中从未发生过,因为我之前多次使用 Windows 挂载了更多数量的文件。希望这有帮助。

这很可能是因为 OSX 无法从网络共享立即使用文件列表。不幸的是,苹果对SMB的实现仍然有点问题。

您可以尝试:defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

看看是否有帮助。

最新更新