Гид по технологиям

Gdrive — командная утилита для доступа к Google Drive на Linux

6 min read Облачное хранилище Обновлено 05 Oct 2025
Gdrive: CLI для Google Drive на Linux
Gdrive: CLI для Google Drive на Linux

Введение

Хотя Google Drive остаётся одним из самых популярных облачных хранилищ, официального клиента для Linux у Google нет. Сообщество Linux создало несколько неофициальных клиентов, и один из таких — Gdrive. Это небольшая утилита, которая управляет вашим Google Drive через командную строку.

Определение: Gdrive — это исполняемый файл (binary), который выполняет операции над файлами и каталогами в вашей учётной записи Google Drive через CLI.

Важно: в статье описаны шаги, проверенные на Ubuntu 16.04; для других дистрибутивов команды установки и зависимости могут отличаться.

Особенности Gdrive (что умеет)

  • Доступ к списку файлов и директорий (list).
  • Загрузка (upload) и скачивание (download) файлов и папок (с рекурсией).
  • Создание директорий (mkdir).
  • Просмотр информации о файле (info).
  • Управление доступом: выдача прав чтения/записи/комментирования/владения (share).
  • Поддержка флагов для перезаписи (-f), рекурсивной загрузки/скачивания (-r) и удаления удалённой копии после скачивания (–delete).

Установка и настройка Gdrive

  1. Перейдите на официальный GitHub-проект Gdrive и скачайте исполняемый файл под вашу архитектуру (x86_64, 386 и т. п.). Например, для 32-битной системы файл может называться gdrive-linux-386.

  2. Сделайте файл исполняемым:

chmod +x gdrive-linux-386
  1. Запустите авторизацию, использовав команду about, чтобы инициировать OAuth-процесс:
./gdrive-linux-386 about

Команда выведет URL — перейдите по нему в браузере, авторизуйтесь в нужном Google-аккаунте и нажмите “Allow” (Разрешить). После этого на веб‑странице появится код подтверждения, который нужно вставить в терминал.

Запуск Gdrive в терминале

Страница авторизации Google для Gdrive

После ввода кода в терминале Gdrive установит соединение с вашим аккаунтом:

Gdrive подключён к аккаунту Google Drive

Важно: в процессе авторизации создаётся каталог ~/.gdrive с файлом токена. Любой, у кого есть доступ к этому файлу, сможет получить доступ к вашему Google Drive. Храните домашнюю директорию и резервные копии токена в безопасности.

Быстрое руководство по командам

Предположения: в примерах ниже файл исполняемого файла называется gdrive-linux-386 и запускается из текущей рабочей директории.

Список содержимого

Показать файлы и папки:

./gdrive-linux-386 list

По умолчанию выводит до 30 элементов. Чтобы изменить лимит, используйте флаг -m:

./gdrive-linux-386 list -m 10

Фильтрация по запросу (query), например, показать файлы, в имени которых есть “gmail”:

./gdrive-linux-386 list -m 10 --query "name contains 'gmail'"

Результат поиска файлов по запросу

Полезная подсказка: чтобы получить ID каталога для операций upload –parent используйте list с подробным выводом и найдите нужную строку с ID.

Загрузка (upload) и скачивание (download)

Загрузить файл в корень Drive:

./gdrive-linux-386 upload [file-name]

Загрузить файл в конкретный каталог по ID:

./gdrive-linux-386 upload --parent [dir ID] [filename]

Создать каталог в Drive:

./gdrive-linux-386 mkdir [directory-name]

Скачать файл по имени или ID:

./gdrive-linux-386 download [file-name or file-id]

Важные флаги для загрузки/скачивания:

  • -f — перезаписать локальный файл при скачивании, если он уже есть.
  • -r — рекурсивная загрузка/скачивание директорий.
  • –delete — удалить удалённую копию после успешного скачивания (полезно при перемещении).

Примечание: флаги -r и –delete работают и при upload.

Доступ и шаринг

Сделать файл доступным для чтения всем:

./gdrive-linux-386 share [file ID]

Пошаговая передача права конкретному пользователю по e-mail:

./gdrive-linux-386 share [file ID] --type user --email [email add]

По умолчанию команда выдаёт роль reader. Чтобы изменить роль, используйте –role с одним из значений: owner, writer, commenter, reader.

Обмен файлом через Gdrive — пример выдачи прав

Важно: передача роли owner перенесёт владение файла; будьте внимательны с этой операцией.

Просмотр информации о файле

Показать метаданные файла (размер, MIME-type, даты, разрешения и т. п.):

./gdrive-linux-386 info [file ID]

Информация о файле в Gdrive

Частые сценарии использования и примеры

  • Бэкап конфигурации: tar и upload
tar czf config-$(date +%F).tgz ~/.config/myapp
./gdrive-linux-386 upload config-$(date +%F).tgz
  • Перенос архива в удалённую папку и удаление локальной копии после успешной загрузки:
./gdrive-linux-386 upload --parent 0Bxyz12345 my-archive.tgz --delete
  • Массовая загрузка каталога рекурсивно:
./gdrive-linux-386 upload -r --parent [dir ID] path/to/local/folder

Безопасность и управление токенами

  • Токен хранится в ~/.gdrive; резервное копирование или передача этого файла означает передачу доступа к Drive.
  • При подозрении на компрометацию удалите файл токена и отзовите доступ в настройках Google Account → Security → Third-party access.
  • Для корпоративных сценариев рассматривайте выделенные сервисные аккаунты или IAM-политики, где это поддерживается.

Важно: Gdrive использует OAuth — доступ можно отозвать из аккаунта Google в любой момент.

Ограничения и когда Gdrive не подходит

  • Производительность: официальная документация проекта указывает, что реализация может быть медленной и потреблять много памяти.
  • Отсутствие синхронизации в режиме реального времени. Если вам нужна двусторонняя синхронизация (например, Dropbox-подобный опыт), Gdrive не лучший выбор.
  • Нет графического интерфейса. Для пользователей, которые предпочитают GUI, подойдёт альтернативное ПО.
  • Управление большими объёмами данных и сложные сценарии разрешений лучше решать через rclone или официальные корпоративные инструменты.

Альтернативы (когда выбрать другое ПО)

  • rclone — мощный CLI-инструмент с поддержкой множества облачных провайдеров и настройкой лимитов и буферов; рекомендуем для сложных сценариев и синхронизации.
  • Insync / overGrive — коммерческие GUI-клиенты с двухсторонней синхронизацией и интеграцией с рабочим столом.
  • drive (хорошо интегрируется с Google Drive API и имеет отличия в синтаксисе).

Выбор зависит от задач: если нужна простая автоматизация через скрипты — Gdrive или rclone; если нужен GUI и синхронизация — Insync/overGrive.

Руководство по отладке (Runbook)

  1. Пропала авторизация / ошибка “invalid_grant”:

    • Удалите ~/.gdrive/credentials.json (или весь каталог ~/.gdrive).
    • Перезапустите ./gdrive-linux-386 about и пройдите авторизацию заново.
  2. “Permission denied” при записи локально:

    • Проверьте права на каталоги и диск.
    • Убедитесь, что команда выполняется от пользователя, у которого есть права записи.
  3. Ошибки при upload/download (таймауты, частые прерывания):

    • Повторите команду с менее агрессивными параметрами сети или запустите из надежного соединения.
    • Для массовых операций используйте пакетирование (архивация) и загружайте один большой файл.
  4. Проблемы с лимитами API (rate limit):

    • Разбейте операции на более мелкие партии.
    • Используйте экспоненциальные повторяющиеся попытки в скриптах.

Чек-листы по ролям

Чек-лист для разработчика DevOps:

  • Установить исполняемый файл в /usr/local/bin и сделать исполняемым.
  • Настроить сервисный аккаунт или отдельный Google-аккаунт для бэкапов (если возможно).
  • Настроить ротацию токенов и хранение секретов в безопасном хранилище (Vault).

Чек-лист для системного администратора:

  • Проверить права доступа к ~/.gdrive.
  • Настроить cron/анц для регулярных загрузок.
  • Документировать процедуру отзыва доступа и восстановления.

Чек-лист для рядового пользователя:

  • Пройти авторизацию через ./gdrive-linux-386 about.
  • Попробовать list, upload и download в тестовой папке.
  • Не передавать файл токена другим людям.

Критерии приёмки

  • Утилита успешно авторизовалась и показала список файлов: ./gdrive-linux-386 list
  • Удалось загрузить тестовый файл и затем скачать его обратно: upload → download
  • Шаринг файлом выдал доступ нужному e-mail и корректную роль (–role)
  • Локальный файл токена хранится в ~/.gdrive и защищён правами доступа 700/600

Ментальные модели и рекомендации

  • Модель “архив → перемещение”: для больших объёмов создавайте архивы (tar/gzip) и загружайте один файл вместо большого количества мелких.
  • Модель “токен как ключ”: относитесь к файлу в ~/.gdrive как к ключу доступа; проследите где он хранится и кто имеет к нему доступ.
  • Модель “FIFO операций”: при пакетной синхронизации сначала выгружайте, затем проверяйте и только потом удаляйте локальные копии (–delete), чтобы избежать потери данных.

Заключение

Gdrive — удобный и лёгкий инструмент, если вам нужно управлять Google Drive из CLI и запускать простые автоматические задачи. Он особенно полезен для скриптов и быстрых операций без установки тяжёлого GUI-клиента. Однако у утилиты есть ограничения по производительности и функционалу; для более сложных сценариев стоит рассмотреть rclone или коммерческие клиенты.

Ключевые рекомендации:

  • Защитите файл токена в ~/.gdrive.
  • Используйте архивирование для массовых операций.
  • Для регулярной синхронизации рассмотрите rclone или платные клиенты.

Дополнительные ресурсы: официальный репозиторий Gdrive на GitHub содержит подробную документацию по флагам и примерам использования.

Важно: перед массовыми операциями сделайте резервную копию критичных данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как найти контакты по каналу YouTube
Руководство

Как найти контакты по каналу YouTube

Восстановление папки «Документы» в Windows
Windows

Восстановление папки «Документы» в Windows

Зашифровать ZIP на Android и защитить паролем
Android безопасность

Зашифровать ZIP на Android и защитить паролем

Как посмотреть историю включений и выключений Windows
Windows

Как посмотреть историю включений и выключений Windows

Gdrive: CLI для Google Drive на Linux
Облачное хранилище

Gdrive: CLI для Google Drive на Linux

Как размутить аккаунт в Instagram
Социальные сети

Как размутить аккаунт в Instagram