How to Use Google Drive on Linux: A Comprehensive Guide

Google Drive is one of the most popular services to store your files in the cloud. You can access your Google Drive account through a web browser or using a client. This time I’m going to talk about one Google Drive Linux client but without a graphical interface. In this tutorial, you’re going to know how to use a client through the command-line interface to access, download and upload to your google drive.  

​Gdrive A Google Drive Linux CLI Client

The client that we’re going to use is called Gdrive, a Google drive Linux CLI client. You can get Gdrive easily, just follow the link below and download the appropriate version for your system, it can be installed on Windows, Mac OS X and obviously on Linux.

GDrive Official GitHub Page: https://github.com/prasmussen/gdrive

For example, I’ve downloaded the 64 bits Linux version:

download gdrive for linux 64-bit

When the download is done, you can use it.  

How To Use Gdrive?

Firstly you must make sure that the file has executable permissions, so, you can use the following command to give the correspondent permissions to the file.

$ chmod +x gdrive-*-*
how to use gdrive in linux

 Now you must connect your account with gdrive. Just type the following command:$ ./gdrive about

connect gdrive to google account in linux

You must go to the URL provided by Gdrive. Copy and paste it in your web browser and allow the permission for Gdrive. Next you will get a code for Gdrive, copy and paste it in your terminal.

gdrive in linux varification code
access gdrive in linux terminal

Now you can do many things with Gdrive, so let’s get started. You can start listing the files of your account, just type:

$ ./gdrive-linux-x64 list
access google drvie from linux terminal

If you want to download a file you must find the correspondent Id and then just use the following command:

$ ./gdrive-linux-x64 download fileId 
download gdrive file from linux terminal

If you want to download a Google Document, you must export and the download will be automatic:

$ ./gdrive-linux-x64 export fileId
download google document from linux terminal

Also, you can create a directory on your google drive account:

$ ./gdrive-linux-x64 mkdir directory 
create directory in google drive from linux terminal

If you want to upload a file you can use the following command:

$ ./gdrive-linux-x64 upload file 
upload files to google drive from linux terminal

Each action of Gdrive has many arguments, for example, the download option has the following arguments:

[global]

 -c, –config <configDir> ​ Application path, default: /Users/<user>/.gdrive
 –refresh-token <refreshToken>  Oauth refresh token used to get access token (for advanced users)
​ –access-token <accessToken>  Oauth access token, only recommended for short-lived requests because of short lifetime (for advanced users)

[options]

 -f, –force  Overwrite existing file
 -r, –recursive  Download directory recursively, documents will be skipped
 –path <path> ​ Download path
​ –delete ​ Delete remote file when download is successful
 –no-progress  Hide progress
 –stdout  Write file content to stdout
​ –timeout <timeout> ​ Set timeout in seconds, use 0 for no timeout. Timeout is reached when no data is transferred in set amount of seconds, default: 300

The complete syntax of download is: gdrive [global] download [options] <fileId>If you want to know more about how to use Gdrive and its options, you must read the complete documentation, it’s available on the official GitHub web page of Gdrive.  

Conclusion

You have many options to use Google Drive: The browser, GUI Clients, and command line clients. If you are a terminal lover or you need use advanced options of Google Drive, Gdrive is for you. It has more advanced options like manage revisions of a file. You have the final decision, choose the better option for your needs.​

SHARE THIS POST

MassiveGRID Banner
7 Comments Text
  • I got it to work for a small set of files but it fails when faced with a really large set of files,

    Failed to download file: Get “https://www.googleapis.com/drive/v3/files/12mw-BkblLzo9HoVGkRIK4Mq752Ai8Mji?alt=media&prettyPrint=false”: read tcp [2603:7080:d3d:3452:d0ff:bbc7:22ba:adaf]:52746->[2607:f8b0:4006:81f::200a]:443: read: connection reset by peer

    Not much I can do about this. Can it retry such cases so that a single bad server or flaky connection can’t disable the utility?

  • Doesn’t work, google is not supported “older” oauth requests and partially support it early created applications to 31.12.2023
    Posted on Mar 28, 2023 but copied from 2021.

  • Leave a Reply

    Your email address will not be published. Required fields are marked *