有许多第三方应用程序允许通过 USB 访问 MTP 设备。这里仅列举 2 个 http://mac.eltima.com/sync-mac.html http://mac.eltima.com/mtp-file-transfer.html
所以我的问题是,为什么不能直接使用 bash 命令来执行此操作?有没有 bash 专家愿意参与讨论?
这有关 Windows 上的 MTP 设备的文章
表明
无法将 MTP 设备公开为读/写文件系统。
如果是的话,应用程序是如何实现这一点的?
答案1
我不是 bash 专家,但从 USB 的角度来看你不能这样做。USB 设备要么是 MTP 类设备,要么是大容量存储类设备。
如果设备是 MTP,主机系统需要 MTP 驱动程序来操作它。文件系统位于 MTP 包装器后面。
如果设备是大容量存储,系统将加载大容量存储驱动程序。
手机过去有手动选项来更改 USB 操作模式。最近不再提供大容量存储选项,因为数据损坏的可能性很高。
当然,从技术上来说,可以使用一些专有的 USB 切换协议来来回回地更改 USB 设备类别。要完成切换,设备必须断开与 USB 的连接,然后以新形式重新连接。
答案2
您可以安装 FuseFS (https://osxfuse.github.io/)和 mtp 文件系统(https://www.adebenham.com/mtpfs/) 作为 Fuse 并以这种方式访问设备。