如何通过 bash cd 进入已安装的三星手机

zad*_*zny 12 bash usb samsung

根据 Gnome / Nautilus,这些文件位于: mtp://[usb:001,007]

但:

$ cd mtp://[usb:001,007]
bash: cd: mtp://[usb:001,007]: No such file or directory
Run Code Online (Sandbox Code Playgroud)

并且df -h不一一列举。

虽然lsusb暗示它在那里:

Bus 001 Device 008: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)

Arn*_*nab 14

您实际上可以使用cd. 虽然mountdf命令无法列出它,但它在 gvfsd-fuse 安装文件夹下可用,在我的情况下是/run/user/1000/gvfs,找出与

mount | grep  'gvfsd-fuse'
Run Code Online (Sandbox Code Playgroud)

挂载的 MTP 设备的文件系统在该文件夹下可用,名称有些蹩脚。

使用cd和 Tab 键更容易导航。 在此处输入图片说明

有些系统gvfsd-fuse默认没有运行。确保你已经安装了它(在 Debian 和衍生产品上,它在gvfs-fuse包中)。


Ant*_*gan 5

简短回答:您不能cd访问此目录。

媒体传输协议 (MTP)

媒体传输协议 (MTP) 使用特殊 API 来提供对设备上文件的有限访问。据我了解,它最初是由 Microsoft 设计的,用于与其数字限制系统兼容的专有软件。

该协议于 2008 年成为官方 USB 设备类,它提供了在计算机和外部设备之间传输媒体和元数据的标准方法。它与 DRM 无关,不断创新的 FOSS 社区开发了libmtp库来支持 MTP 设备。

mtp://[usb:001,007]网址是一个GNOME虚拟文件系统,它使用libmtp作为其后端。由于 MTP 将文件系统抽象化,因此它的安装方式与常规存储设备不同,因此它不会被mountordf命令列出。

MTP维基百科文章具有协议和列表的优势,使用MTP用于在外部设备上访问文件的一个很好的描述。

Arch Linux Wiki 上的综合MTP 文章提供了大量关于在GNU/Linux 中使用 MTP 的有用信息(大多数信息不是特定于发行版的)。

大容量存储类 (MSC)

如果你想治疗三星装置可以安装像任何其他存储设备(和使用一个普通的文件系统上的文件cd),则需要对设备进行配置本身作为一个海量存储类(MSC) (又名UMS ) 设备。某些设备可以配置为使用任一方法。我有一部索尼 Android 手机,允许使用任何一种方法,但我总是使用 USB 大容量存储连接到它的 SD 卡(即使这意味着 Android 操作系统必须卸载 SD 卡,以允许 GNU/Linux 操作系统安装它) .

  • 所有关于 MTP 与 MSC 的讨论都是无关紧要和误导性的。无法 cd 到此目录的原因与 MTP 无关。这是因为 MTP 驱动程序是 Gnome 驱动程序而不是 Linux 驱动程序,所以它只对使用 Gnome 文件系统层 (GVFS) 的应用程序可见。Gnome 驱动程序的优点是它是默认安装的一部分。您无法在 shell 中看到 GVFS 文件系统,因为 shell 不是 Gnome 应用程序。 (3认同)
  • 这个答案实际上是错误的 - 请参阅@Arnab 帖子以获得正确的答案(和工作解决方案)。 (3认同)