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:

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-*-*

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

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.


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

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

If you want to download a Google Document, you must export and the download will be automatic:
$ ./gdrive-linux-x64 export fileId

Also, you can create a directory on your google drive account:
$ ./gdrive-linux-x64 mkdir directory

If you want to upload a file you can use the following command:
$ ./gdrive-linux-x64 upload file

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.
Seems it does not work
Failed to get about: Get https://www.googleapis.com/drive/v3/about?alt=json&fields=maxImportSizes%2CmaxUploadSize%2CstorageQuota%2Cuser: oauth2: cannot fetch token: 400 Bad Request
Response: {
“error”: “invalid_grant”,
“error_description”: “Bad Request”
}
It does not work; I tried to install it like manager but I could not to do it
It does not work; I tried to run as admin but I could not to do it
This does not work as Google no longer allows the app to be authorized.
Same problem…Does anyone know an alternative?
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?