如何从文件系统访问已挂载的在线账户?

如何从文件系统访问已挂载的在线账户?

我按照以下说明将 Google Drive 添加到了在线帐户如何在 Ubuntu 18.04 LTS 中访问你的 Google Drive 帐户

它在图形界面上运行良好:

在此处输入图片描述

但是我如何从命令行通过文件系统访问它?


更新:我发现了这个:

$ mount | grep gv
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

$ cd /run/user/1000/gvfs/google-drive:host=gmail.com,user=butterworth.ray

$ ls -lgAFt
ls: cannot read symbolic link '1PhljWusfB-JWfKSu3xqzSzCOqztgDTEDWqfG3E2KioQ': Function not implemented
ls: cannot read symbolic link '12TmyqxUuLFQIktoec0Pe2ygDVPVx9YsDfi6tS2hAXFc': Function not implemented
ls: cannot read symbolic link '1uUnjOG172XdBQ1fLe6AbslNjsHiTK-IaUpzImwkwSbc': Function not implemented
...

total 0
lrw------- 1 ray 0 Jan 19 15:56 1IkBP3RVzCkMPO8UYI8LFyLo71rCOhbEirSMuS39GxUc
lrw------- 1 ray 0 Jan  5 10:06 1JkZJuIN4U-XwOLfKmYr3-0Y2KYQMQ_EmVrZPj1i1AMI
lrw------- 1 ray 0 Jun 15  2018 12TmyqxUuLFQIktoec0Pe2ygDVPVx9YsDfi6tS2hAXFc
drwx------ 1 ray 0 Jun 15  2018 1E3zpESlcc90ZmhjztC4HD22chifWHUkk/
lrw------- 1 ray 0 Jun 15  2018 1uUnjOG172XdBQ1fLe6AbslNjsHiTK-IaUpzImwkwSbc
lrw------- 1 ray 0 Jun 15  2018 1PhljWusfB-JWfKSu3xqzSzCOqztgDTEDWqfG3E2KioQ
...

这些条目对应于 Google-Drive 数据,但文件系统将它们全部视为坏符号链接,除了子目录之外,而子目录又包含坏符号链接。


更新2:

属性框,显示父文件夹为“google-drive://butterworth...”

也许我需要创建一个 /etc/fstab 条目?如果是这样,什么比较合适?

答案1

关于您从何时获得此输出ls

lrw------- 1 ray 0 Jan 19 15:56 1IkBP3RVzCkMPO8UYI8LFyLo71rCOhbEirSMuS39GxUc
lrw------- 1 ray 0 Jan  5 10:06 1JkZJuIN4U-XwOLfKmYr3-0Y2KYQMQ_EmVrZPj1i1AMI
lrw------- 1 ray 0 Jun 15  2018 12TmyqxUuLFQIktoec0Pe2ygDVPVx9YsDfi6tS2hAXFc
drwx------ 1 ray 0 Jun 15  2018 1E3zpESlcc90ZmhjztC4HD22chifWHUkk/
lrw------- 1 ray 0 Jun 15  2018 1uUnjOG172XdBQ1fLe6AbslNjsHiTK-IaUpzImwkwSbc
lrw------- 1 ray 0 Jun 15  2018 1PhljWusfB-JWfKSu3xqzSzCOqztgDTEDWqfG3E2KioQ

这些实际上是 Google Drive 文件和目录本身的名称,也是 Google 管理数据的方式(在对文件进行版本控制和拥有多个同名文件时很有用)。人类可读的名称只是附加到每个文件的元数据位。进入 Google Drive 目录后,您可以使用界面gio查看这些人类可读的文件名:

gio list -d

这将打印出 gnome 所调用display names的每个文件。

man gio适用于其他gio list选项,如--long--hidden等。

在该手册页中,您还将看到其他用于从终端操作云文件的 gio 命令。不幸的是,我尚未找到或想出一种好方法来将标准 shell 命令包装在 gio 命令周围以获得更无缝的体验(就像Google Drive File Stream在 Windows 或 macOS 上从终端访问文件时一样)。如果我找到一个好的解决方案,我会更新这个答案。

话虽如此,这只是尝试使用 Gnome 的集成云驱动器界面,因为它设置起来非常简单,而且在 Nautilus GUI 中似乎表现良好。但还有其他选择,例如克隆奥卡姆菲斯两者都运行良好,但配置起来可能有些困难,特别是在最大化速度方面。

答案2

嗯,我明白你的意思。

您可以获取更多信息,如下所示:

首先,找到你的 Google Drive 的基本 URL,如下所示:

BASE_URL=`gio mount -li | egrep '^Mount.*google-drive' | sed 's/.*> //'`

我的是这样的:。google-drive://[email protected]/

然后您可以gio再次使用来列出如下属性:

$ gio list -a 'standard::display-name' "$BASE_URL"
1t1221oLkvviV7UXqBjXmWKipT_w    0   (shortcut)  standard::display-name=Swifty14
1h332234_ZoCetVVCpwbdzoeh1_Y    0   (shortcut)  standard::display-name=Holls 2016

我的意思是现在还没有好的,但它能帮你找到一些有用的信息!下面这个让它变得简洁一些:

$ gio list -a 'standard::display-name' "$BASE_URL" | awk '{print $1 "\t" $4}' | sed 's/standard::display-name=//'
1t1221oLkvviV7UXqBjXmWKipT_w    Swifty14
1h332234_ZoCetVVCpwbdzoeh1_Y    Holls 2016

答案3

既然您可以使用 UI,为什么不尝试打开您的 Google Drive 并通过右键单击选择一个随机文件并转到属性,它将显示父文件夹的位置:

在此处输入图片描述

然后可以在终端中使用该信息从命令行访问它。

在此处输入图片描述

相关内容