如何通过 WiFi 而不是 USB 安装 Android 外部存储

如何通过 WiFi 而不是 USB 安装 Android 外部存储

有这样一个问题:

有很多答案。在问题正文中,原帖者问如何mount通过 WiFi 访问 Android 文件系统,这正是我想要做的。然而没有一个答案包含命令mount

我如何mount通过 WiFi 访问手机的外部存储,以便可以使用命令ls并获取每个文件的最后访问时间的具体结果?

与“漂亮”的 GUI 图片相比,我更喜欢使用 CLI 和命令mount来对分区进行操作,例如/phone。然后像 这样的命令ls /phone实际上就可以正常工作。

不需要通过 GUI 复制和粘贴文件。只需简单的ls命令。最简单的方法就是目标。

回复评论

Ubuntu 中有许多 FTP 客户端工具可供使用。但是它们带有自己的一组在解释器中运行的 shell/bash 类命令。我想使用常规 bash/shell 命令并从 调用脚本/etc/cron.daily

每天早上,Cron 任务都会自动启动mount手机。然后轮询上次访问时间针对数千个文件。然后使用最后四次访问时间和umount手机更新 bash 数组。

应该有除了每天早上恢复笔记本电脑之外的用户输入(对于其他工作来说,这已经完成了)/etc/cron.daily

答案1

满足curlftpfs(包curlftpfs) - “将 ftp 主机挂载为本地目录”。首先将您的 Android 设备设置为 ftp 服务器,例如使用您链接的问题中解释的应用程序之一,然后在主机上执行以下操作:

curlftpfs server:port/directory /mountpoint

要卸载,请使用:

fusermount -u /mountpoint

示例/etc/fstab行如下所示:

curlftpfs#server:port/directory /mountpoint fuse auto,user,uid=1000,allow_other,_netdev 0 0

不幸的是,自 2015 年以来,存在一个错误,libcurl3-gnutls导致curlftpfs文件操作非常慢,请参阅以下资源:

来源/进一步阅读

答案2

首先,我尝试了两个最流行的 Android 应用,用于通过 WiFi 共享文件FTP 服务器无线 FTP 服务器

两者与 Nautilus 配合得很好。除了没有一个像我预计的那样将“上次访问日期”转发给 Nautilus。两者都显示“未知”而不是有效日期。

正如其他答案中提到的那样,curlftpfs它不起作用所以我尝试了:

sudo apt-get install sshfs

但是,这两个 Android WiFi 文件共享应用都不允许我登录。发给技术支持的电子邮件确认他们不支持安全外壳,只支持众所周知不安全的 FTP。

无论您使用哪个应用程序,您都需要创建一个目录来挂载远程文件夹。我使用了:

mkdir /mnt/phonesudo
chown rick:rick /mnt/phone

“rick” 是用户 ID。

您需要登录路由器并设置 IP 地址(就我而言192.168.0.11) 静态,这样每次手机连接到路由器时它都不会改变。这里有一个链接可以给你一个想法,但你的无疑会有所不同:

由于 Android 上的 FTP 服务器不支持 SSH,因此下一步请尝试此处推荐的 SimpleSSH:

-  https://www.techrepublic.com/article/how-to-install-an-ssh-server-on-your-android-phone/

但是 SimpleSSH 在 Google Play Store 上似乎不太受欢迎?请使用评分很高的版本SSH/SFTP 服务器 - 终端香蕉工作室:-https://play.google.com/store/apps/details?id=net.xnano.android.sshserver

在测试和崩溃期间,您需要卸载驱动器:

$fusermount -u /mnt/phone

安装后SSH/SFTP 服务器 - 终端使用此命令:

$ echo rick | sshfs -o password_stdin -p 2222 [email protected]:/ /mnt/phone

$ cd "/mnt/phone/Music/Uriah Heep/The Magician's Birthday"

rick@alien:/mnt/phone/Music/Uriah Heep/The Magician's Birthday$ ll
total 79000
-rw-rw-rw- 1 root root  8204186 Mar 10  2016 01 Sunrise.m4a
-rw-rw-rw- 1 root root  5375331 Mar 10  2016 02 Spider Woman.m4a
-rw-rw-rw- 1 root root  7599684 Mar 10  2016 03 Blind Eye.m4a
-rw-rw-rw- 1 root root 10355301 Mar 10  2016 04 Echoes In The Dark.m4a
-rw-rw-rw- 1 root root  8087257 Mar 10  2016 05 Rain.m4a
-rw-rw-rw- 1 root root  9605474 Mar 10  2016 06 Sweet Lorraine.m4a
-rw-rw-rw- 1 root root  9141838 Mar 10  2016 07 Tales.m4a
-rw-rw-rw- 1 root root 22511187 Mar 10  2016 08 The Magician's Birthday.m4a

$ stat "07 Tales.m4a"
  File: '07 Tales.m4a'
  Size: 9141838     Blocks: 17856      IO Block: 4096   regular file
Device: 31h/49d Inode: 11          Links: 1
Access: (0666/-rw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-03-10 17:22:24.000000000 -0700
Modify: 2016-03-10 17:22:24.000000000 -0700
Change: 2016-03-10 17:22:24.000000000 -0700
 Birth: -

瞧!我现在可以看到我的项目需要的最后访问日期。不幸的是,我发现 Android 存在人类历史上最大的安全漏洞。尽管基于 Linux 内核,但 Google 决定禁用文件打开和读取的日期。

我欢迎所有关于这个答案的评论/问题

相关内容