如何从我的终端访问我的 Android 手机?

cme*_*men 21 command-line android

我将 Kit-kat android 手机连接到我的 Ubuntu 14.04 计算机,然后进入终端,我希望能够通过终端访问手机上的文件,例如媒体和音乐文件夹……这可能吗?

小智 19

通过 USB 连接时,Android 设备通常使用媒体传输协议(MTP)。该协议的工作方式与传统 USB 不同。

简单地说,这是一种确保手机不会与计算机共享过多数据的方法。电脑发出询问,手机回答。电话可能决定共享文件或忽略查询。同样,当电脑删除文件时,手机也有能力决定是否真正删除文件。

好了,介绍够了。要访问通过 MTP 连接的设备,您需要有关其 #Bus 和 #Dev 的信息。为此,您可以运行以下命令。

usb-devices

这将为您提供已连接 USB 设备的列表。您需要从此列表中找到您的设备。这可能有点累,因此您可以使用可用的制造商选项搜索设备。只需使用以下命令。

usb-devices  | grep "Manufacturer=OnePlus" -B 3
Run Code Online (Sandbox Code Playgroud)

这将为您提供 4 行信息,其中第一行如下。

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=480 MxCh= 0
Run Code Online (Sandbox Code Playgroud)

正如您在此处看到的,关联的 Bus 是 02,Dev 是 13。

现在将您的目录更改为 /run/user/1000/gvfs/ 并查看那里的文件夹列表。

/run/user/1000/gvfs/
ls
Run Code Online (Sandbox Code Playgroud)

您将在列表中找到带有 #Bus 和 #Dev 的关联 MTP 设备。例如,我的是mtp:host=%5Busb%3A002%2C013%5D。现在只需使用以下命令更改您的目录。

cd mtp\:host\=%5Busb%3A002%2C013%5D/
Run Code Online (Sandbox Code Playgroud)

!你在文件存储里面!

  • 如果 `/run/user/1000/gvfs/` 中什么都没有怎么办。我的 `ls` 没有显示任何内容。 (7认同)
  • 惊人的!像魅力一样工作,谢谢 (3认同)
  • 像魅力一样工作,但不是mpt:host,而是gphoto2:host (2认同)
  • 同样在这里。文件夹是空的。以防万一,我将手机设置为“文件传输”模式。 (2认同)

dob*_*bey 14

可以在$XDG_RUNTIME_DIR/gvfs目录下找到挂载点。主目录可能类似于mtp:host=…一些转义字符和 USB 供应商/产品 ID,但您应该能够在终端中从那里访问您的文件。

  • 我认为`$XDG_RUNTIME_DIR`默认为`/run/user/$UID/`。其中有一个“gvfs”子目录。 (2认同)