Guida alle tecnologie

Gdrive — client da riga di comando per Google Drive su Linux

8 min read Linux Aggiornato 05 Oct 2025
Gdrive su Linux: guida completa CLI
Gdrive su Linux: guida completa CLI

Introduzione

Google Drive è uno dei servizi di cloud storage più diffusi, ma non esiste (al momento) un client ufficiale completo per tutte le distribuzioni Linux. La comunità open source però ha sviluppato numerosi client non ufficiali: uno di questi è Gdrive, uno strumento da riga di comando semplice e leggero che permette di eseguire le operazioni principali su Drive direttamente dal terminale.

Questa guida descrive come scaricare, installare, autenticare e usare Gdrive. Le istruzioni e i comandi illustrati sono stati verificati su Ubuntu 16.04, ma molte indicazioni sono valide anche su altre distribuzioni Linux moderne.

Importante: termini chiave

  • Token: file che autorizza Gdrive ad accedere al tuo account Google senza richiedere le credenziali ogni volta.
  • OAuth2: il protocollo di autorizzazione usato da Google per concedere l’accesso alle app senza condividere la password.

Cos’è Gdrive

Gdrive è un eseguibile che comunica con le API di Google Drive e ti permette di elencare, caricare, scaricare, condividere e ottenere informazioni sui file usando comandi da terminale. Non ha interfaccia grafica: tutte le operazioni si eseguono tramite comandi.

Vantaggi principali

  • Leggero e semplice da installare.
  • Adatto a script e automazioni (cron, CI/CD, backup).
  • Comandi facilmente memorizzabili.

Limiti noti

  • L’implementazione corrente può risultare lenta e consumare più memoria rispetto ad alcune alternative.
  • Non è sviluppato dal team ufficiale di Google: il supporto e le feature dipendono dai contributori del progetto.

Scaricare, installare e configurare Gdrive

Passaggi principali:

  1. Scarica l’eseguibile corrispondente all’architettura della tua macchina dalla pagina GitHub del progetto.
  2. Rendi il file eseguibile e spostalo o crea un symlink in una cartella del PATH (ad es. /usr/local/bin).
  3. Autentica Gdrive con il tuo account Google seguendo la procedura OAuth2 mostrata a terminale.

Esempio pratico: file scaricato e permessi

Se hai scaricato un file chiamato gdrive-linux-386 (32 bit), assicurati che sia eseguibile:

chmod +x gdrive-linux-386

Per rendere l’uso più comodo, sposta l’eseguibile in /usr/local/bin e rinominalo in gdrive:

sudo mv gdrive-linux-386 /usr/local/bin/gdrive
sudo chown root:root /usr/local/bin/gdrive
sudo chmod 0755 /usr/local/bin/gdrive

Su sistemi a 64 bit il nome del file può essere qualcosa come gdrive-linux-amd64: adatta il comando di conseguenza.

Autenticazione iniziale

Per permettere a Gdrive di accedere al tuo Drive esegui:

./gdrive about

Il comando stamperà un URL. Apri l’URL nel browser, accedi con l’account Google da autorizzare e clicca su “Allow” (Consenti). Verrà generato un codice di verifica che dovrai inserire nel terminale. Dopo l’inserimento, Gdrive salverà un token nella cartella .gdrive nella tua home.

Avvio di Gdrive

Schermata di autorizzazione di Gdrive

Gdrive connesso a Google Drive

Importante:

L’autenticazione crea un file di token nella cartella ~/.gdrive. Chiunque abbia accesso a questo file può accedere al tuo Drive. Proteggi la tua home e, se necessario, imposta permessi restrittivi: chmod 0700 ~/.gdrive.

Suggerimenti per una installazione robusta

  • Verifica l’architettura del sistema con uname -m prima di scaricare l’eseguibile.
  • Controlla la pagina GitHub per eventuali checksum (SHA256) e verifica l’integrità del file scaricato usando sha256sum.
  • Se prevedi di usare Gdrive in script automatizzati, mantieni il token sotto controllo e configura backup sicuri per la cartella .gdrive.

Comandi di base

Di seguito i comandi più usati, con esempi e spiegazioni in italiano. Nei comandi seguenti si assume che l’eseguibile si chiami gdrive e sia raggiungibile nel PATH; se usi il file scaricato nella directory corrente, sostituisci gdrive con ./gdrive-linux-386 come negli esempi originali.

Elencare il contenuto

Per elencare file e cartelle:

gdrive list

Per limitare il numero di risultati (default 30) usa il flag -m:

gdrive list -m 10

Per filtrare i risultati puoi usare --query, ad esempio per cercare file che contengono “gmail” nel nome:

gdrive list -m 10 --query "name contains 'gmail'"

Esempio di output:

Risultato ricerca con Gdrive

Caricare e scaricare file

Caricare un file nella radice del Drive:

gdrive upload nomefile.ext

Caricare un file in una cartella specifica (usando l’ID della cartella):

gdrive upload --parent ID_cartella nomefile.ext

Creare una nuova cartella:

gdrive mkdir nome-cartella

Scaricare un file in locale:

gdrive download ID_o_nomefile

Flag utili per upload/download:

  • -f: forza la sovrascrittura di un file esistente con lo stesso nome.
  • -r: scarica/carica cartelle ricorsivamente.
  • --delete: dopo il download elimina il file remoto.

Questi flag possono combinarsi: ad esempio gdrive download -r --delete ID_cartella scarica ricorsivamente la cartella e la rimuove da Drive dopo il completamento.

Condividere file

Per rendere un file leggibile da chiunque:

gdrive share ID_file

Per condividere con un utente specifico e inviare l’invito a un’email:

gdrive share ID_file --type user --email [email protected]

Per specificare il ruolo (permessi) aggiungi --role con uno dei valori: owner, writer, commenter, reader.

Esempio di condivisione con permessi di scrittura:

gdrive share ID_file --type user --email [email protected] --role writer

Condivisione di un file con Gdrive

Mostrare informazioni su un file

Per ottenere metadati e informazioni dettagliate su un file:

gdrive info ID_file

Esempio di output:

Informazioni file con Gdrive

Esempi avanzati e script di automazione

Ecco alcuni snippet utili per integrare Gdrive in script o job pianificati.

Backup incrementale di una cartella locale:

#!/bin/bash
# backup-gdrive.sh
SOURCE_DIR="/home/utente/documenti"
ARCHIVE="backup-$(date +%F).tar.gz"
tar -czf /tmp/$ARCHIVE -C "$SOURCE_DIR" .
gdrive upload --parent ID_cartella_backup /tmp/$ARCHIVE && rm /tmp/$ARCHIVE

Script per sincronizzazione minima (upload solo file nuovi):

#!/bin/bash
for f in /home/utente/sync/*; do
  if [ -f "$f" ]; then
    # verifica esistenza basata sul nome
    if ! gdrive list --query "name = '$(basename "$f")'" | grep -q "Id"; then
      gdrive upload "$f"
    fi
  fi
done

Pianifica con cron (esempio: esegue ogni giorno alle 02:30):

30 2 * * * /usr/local/bin/backup-gdrive.sh >> /var/log/gdrive-backup.log 2>&1

Note pratiche sugli script

  • Gestisci i log e gli errori: controlla l’output e notifica via email o sistema di monitoraggio in caso di fallimenti.
  • Evita di includere credenziali sensibili negli script; affida l’autenticazione al token memorizzato in ~/.gdrive.

Sicurezza, privacy e GDPR

  • Il token di autenticazione è sensibile. Imposta permessi stretti chmod 0700 ~/.gdrive e limita l’accesso all’utente.
  • Se lavori con dati personali, verifica la conformità GDPR della tua procedura di backup e archiviazione.
  • Se il token viene compromesso, elimina il file token e ripeti la procedura di autorizzazione dal browser per revocare l’accesso.
  • Non includere il token in repository o backup pubblici.

Risoluzione dei problemi comuni

Problema: “Authentication required” o token non valido

  • Esegui gdrive about e ripeti la procedura di autorizzazione.
  • Elimina la cartella ~/.gdrive e riautentica.

Problema: errori di permessi (EACCES)

  • Controlla che l’eseguibile abbia permessi eseguibili (chmod +x /usr/local/bin/gdrive).
  • Assicurati che lo user che esegue gli script abbia accesso a ~/.gdrive.

Problema: upload lento o consumo elevato di memoria

  • Gdrive non è ottimizzato per carichi massivi; valuta l’uso di strumenti più performanti se devi sincronizzare grandi quantità di dati.

Quando Gdrive non è la scelta giusta

  • Hai bisogno di sincronizzazione bidirezionale continua e trasparente (come una cartella montata): considera client con integrazione desktop o soluzioni come rclone con mount.
  • Gestisci milioni di file o grandi dataset: Gdrive può risultare inefficiente; strumenti enterprise o API personalizzate potrebbero essere più adatti.

Alternative e confronto rapido

  • rclone: client versatile con supporto a molteplici provider cloud, ottimo per sincronizzazioni e mount, più flessibile per automazioni complesse.
  • drive (altro progetto CLI): offre comandi simili ma con implementazioni e comportamento diversi; controlla le feature prima di scegliere.
  • Insync / OverGrive: client commerciali con interfaccia grafica, sincronizzazione automatica e funzionalità avanzate a pagamento.

Scelta in base al bisogno

  • Script e task batch: Gdrive o rclone vanno bene.
  • Sincronizzazione in tempo reale e interfaccia desktop: Insync o client ufficiali (se disponibili).
  • Ampi volumi di dati o requisiti enterprise: valutare soluzioni dedicate.

Checklist per ruoli

Per utente singolo

  • Scaricato eseguibile corretto.
  • Autenticazione completata e token al sicuro.
  • Test upload/download riusciti.

Per amministratore di sistema

  • Installato in /usr/local/bin con permessi corretti.
  • Script di backup automatizzati con rotazione log.
  • Procedure di recovery e revoca token documentate.

Per sviluppatore/CI

  • Token separato per ambiente CI (se necessario) con permessi limitati.
  • Test automatici per verificare disponibilità API.
  • Gestione degli errori e retry implementata.

Casi di test e criteri di accettazione

  • Installazione: gdrive --version deve restituire la versione installata.
  • Autenticazione: gdrive about non deve chiedere nuovamente credenziali dopo la prima autorizzazione.
  • Upload/Download: caricare, scaricare e confrontare checksum locali per verificare integrità.
  • Condivisione: gdrive share deve aggiornare i permessi e gdrive info deve riflettere il cambiamento.

Conclusione

Gdrive è una soluzione pratica e leggera per gestire Google Drive da terminale su Linux. È particolarmente utile per script, automazioni e utenti che preferiscono lavorare in CLI. Tuttavia, per esigenze di performance elevate o sincronizzazione continua su larga scala, è consigliabile valutare alternative come rclone o client commerciali.

In sintesi: se cerchi semplicità e integrazione con script, prova Gdrive; per esigenze più complesse confronta strumenti alternativi.

Riepilogo rapido

  • Installazione: scarica l’eseguibile, rendilo eseguibile, spostalo in /usr/local/bin.
  • Autenticazione: esegui gdrive about, visita l’URL e incolla il codice.
  • Operazioni: list, upload, download, share, info.
  • Sicurezza: proteggi ~/.gdrive, non condividerlo.

Note finali

Consulta sempre la pagina ufficiale del progetto su GitHub per aggiornamenti, issue aperte e istruzioni dettagliate. Le procedure qui descritte mirano a fornire una base solida di partenza per usare Gdrive in modo sicuro ed efficace.

Autore
Redazione

Materiali simili

Proteggere account Gmail: cosa fare se sei hackerato
Sicurezza

Proteggere account Gmail: cosa fare se sei hackerato

Siti indispensabili per crescere come freelance
Freelance

Siti indispensabili per crescere come freelance

wget: installare, risolvere errori e usare su Windows e Mac
Strumenti CLI

wget: installare, risolvere errori e usare su Windows e Mac

Proteggi i dispositivi Apple in Canada: guida pratica
Sicurezza

Proteggi i dispositivi Apple in Canada: guida pratica

Trovare contatti da un canale YouTube
Social Media

Trovare contatti da un canale YouTube

Recupera la cartella Documenti in Windows
Windows

Recupera la cartella Documenti in Windows