linux上使用drive从google drive 下载文件和文件夹

linux上使用drive从google drive 下载文件和文件夹

由于之前要下载Darpa的大型数据集,这个数据集仅仅在google drive上可以获取。但是如果手动下载的话,要么一个个文件自己点击要么就是整个打包。

这样子有几个问题:

  1. 速度很慢
  2. 中间不能关闭浏览器
  3. 由于文件很大,经常压缩着就失败了,白等半天

所以我直接在服务器上下载文件,可以直接挂在tmux上。
搜集了一顿资料,发现比较好用的就是,gdrive和drive。
可以选择跟着教程走,走编译的路线,但是由于我在服务器上进行,很多配置不能改,所以就选择最简单也最直接的办法。

第一步:下载可执行文件

gdrive:
https://github.com/prasmussen/gdrive/releases
drive:
https://github.com/odeke-em/drive/releases/tag/v0.4.0

找到符和自己电脑的版本,进行下载。
例如我是下载的drive_linux.

可以手动下载然后转移到服务器上,或者复制链接,然后用wget下载。都可以,怎么方便怎么来。

输验证码

将文件解压之后,需要给文件提个权。

chmod +x drive_linux  #提权
mv drive_linux drive    #重命名

然后运行 ./drive init
会出现如下的画面
要求输入验证码

直接点击连接,然后获取验证码输进去就行了。

下载文件

当完成验证之后,就可以直接用如下命令下载文件:

./drive pull -id <file or folder id>

文件或者文件夹的id可以右键点击,然后点获取链接,中间一堆乱码一样的东西就是id了。

如图所示:
在这里插入图片描述
在这里插入图片描述

更新

上面的这种方式已经不能用了,github也已经很多年没有人维护了。但我最近又有需求从google drive上下来内容,几番查找之后,发现可以使用rclone的方式去获取。

为了避免侵权,另一方面也是我懒得写细致的博客了,具体的过程可以参考这位博主的,唯一不一样的就是最后我是需要将share_with_me里面的内容copy过来,而不是文件夹全部同步,所以我最后我使用的命令是:

“rclone copy "your_name_of_rclone:Path_of_file" "./" --drive-shared-with-me”

例如我使用的就是

rclone copy "gdrive:/Engagement5/Ground_Truth" "./" --drive-shared-with-me

以及小心一次性最多copy一个小时,因为token有效期就只有那么长,超级大型的文件建议还是差分开来再进行拷贝。

再次更新

rclone可以比较方便的下载大型文件,但是咋说呢,还是太麻烦了。后来发现gdown也不错,不过gdown下载大型文件以及多人访问文件会有一些小问题。可以参考这位博主的解答:
https://blog.csdn.net/qq_43659183/article/details/133697542

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
### 回答1: 在Linux和Windows操作系统之间传输文件可以使用不同的方法,以下是一些常见的方法: 1. 通过网络共享:您可以在Windows计算机上设置共享文件夹,并使用Linux计算机上的Samba工具来访问这些共享。这样,您就可以从Linux计算机上直接访问Windows计算机中的文件。 2. 使用FTP:FTP是一种用于在计算机之间传输文件的标准协议。您可以在Windows计算机上设置FTP服务器,并使用Linux计算机上的FTP客户端来连接并下载文件。 3. 使用SSH:SSH是一种安全的远程访问协议,它可以用于在Linux和Windows计算机之间传输文件。您可以在Windows计算机上安装一个SSH服务器,并使用Linux计算机上的SSH客户端来连接并传输文件。 4. 使用云存储:您可以使用各种云存储服务(如Google Drive,Dropbox等)来在Linux和Windows之间共享文件。您可以在Windows计算机上将文件上传到云存储服务,并在Linux计算机上使用相同的服务来访问这些文件。 ### 回答2: Linux和Windows都有各自的方法来传输文件。 在Linux上,我们可以使用命令行工具,如scp(Secure Copy)或rsync来传输文件使用scp命令,我们可以通过SSH协议安全地从一台Linux机器复制文件到另一台Linux机器。例如,要将本地文件复制到远程服务器,我们可以使用以下命令:scp localfile.txt user@remote:/path/to/destination。使用rsync命令,我们可以将文件从一个地方同步到另一个地方。它可以在多个设备之间同步文件,并且只传输发生更改的部分,从而更加高效。 在Windows上,我们可以使用多种方法传输文件。最常见的方法是使用文件资源管理器,通过网络共享或FTP(文件传输协议)将文件从一台Windows机器复制到另一台Windows机器。我们可以通过在资源管理器中输入远程计算机的网络路径来访问共享文件夹,并直接复制文件。对于FTP传输,我们可以使用FTP客户端软件(如FileZilla)连接到远程FTP服务器,并在本地和远程服务器之间传输文件。 除了上述方法外,还有其他工具和协议可以在Linux和Windows之间进行文件传输,如Samba(用于在Linux和Windows之间共享文件和打印机)、SSH文件传输协议(SFTP)等。 总结起来,Linux和Windows都有各自的方法和工具来实现文件传输,用户可以根据具体的需求和环境选择合适的方式进行操作。 ### 回答3: 在Linux和Windows操作系统中,传输文件的方法有所不同。 在Linux中,可以使用以下几种方式传输文件: 1. 使用命令行工具,如scp(secure copy)或rsync,这些工具可以通过SSH(Secure Shell)协议在本地和远程机器上传输文件。例如,使用scp命令可以通过以下方式将本地文件传输到远程机器:scp local_file remote_username@remote_ip_address:remote_directory。同样地,也可以将远程文件传输到本地机器。 2. 使用FTP(File Transfer Protocol)服务器,可以通过FTP客户端在Linux上设置和运行FTP服务器来传输文件。用户可以通过FTP客户端连接到服务器,然后上传或下载文件。 3. 使用Samba服务,可以在Linux和Windows之间共享文件文件夹。可以在Linux上设置Samba服务器,然后通过Windows资源管理器或命令行访问共享文件文件夹。 在Windows中,可以使用以下几种方式传输文件: 1. 使用Windows资源管理器,用户可以通过简单的拖放方式在Windows上传输文件。只需要打开资源管理器,选择文件,然后将其拖放到目标文件夹中即可完成传输。 2. 使用FTP客户端,与Linux中类似,可以使用FTP客户端在Windows上连接到FTP服务器,并上传或下载文件。 3. 使用Windows共享文件夹,可以在Windows上设置共享文件夹,然后其他用户可以通过网络连接到该共享文件夹并传输文件。 总之,无论是Linux还是Windows操作系统,都提供了多种传输文件的方式,用户可以根据自己的需求选择合适的方法来进行文件传输。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值