Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive

Хотя Google Drive, без сомнения, является одним из самых популярных облачных сервисов хранения данных, доступных сегодня, действительно печально то, что для Linux нет официального клиента Drive. 
Но это не значит, что альтернатив нет — на самом деле потрясающее сообщество Linux/open-source разработало несколько неофициальных клиентов Google Drive. 
В этой статье мы обсудим один инструмент под названием Gdrive. 
Обратите внимание, что все инструкции и команды, упомянутые в этой статье, были протестированы в Ubuntu 16.04.

Gdrive

Gdrive — это инструмент, который позволяет вам получить доступ к вашей учетной записи Google Drive через командную строку. 
Да, это означает, что вам нужно запускать команды для любой операции с диском, которую вы хотите выполнить. 
Но не беспокойтесь, его совсем нетрудно использовать, и команды не сложны для запоминания.

Gdrive загрузка, установка и настройка

Вы можете легко загрузить и установить Gdrive на свой компьютер с Linux, перейдя на официальную страницу GitHub и загрузив исполняемый файл для вашей системы. 
Например, я скачал файл с именем gdrive-linux-386, так как я работаю в 32-битном дистрибутиве Linux. 
После загрузки убедитесь, что у файла есть права на выполнение. 
Если нет, предоставьте ему разрешения через команду chmod

chmod +x drive-linux-386

После этого вам нужно убедиться, что инструмент может подключиться к вашей учетной записи Google Drive. 
Для этого вам нужно запустить исполняемый файл с аргументом about:

./gdrive-linux-386 about

Вам будет предложено ввести код подтверждения, который можно получить, перейдя по URL-адресу, указанному в выходных данных команды, и войдя в учетную запись Google для диска, к которому вы хотите получить доступ. 
Следующие скриншоты прояснят процесс:

Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive
Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive

Нажав кнопку «Разрешить», вы получите нужный код на самой веб-странице. 
После того, как код подтверждения введен в терминале командной строки, Gdrive подключится к вашей учетной записи Google Drive. 
Например, вот полный вывод после ввода кода в моем случае:

Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive

Важное примечание: вышеупомянутый процесс аутентификации создаст файл токена в папке с именем .gdrive, расположенной в вашем домашнем каталоге. 
«Обратите внимание, что любой, у кого есть доступ к этому файлу, также будет иметь доступ к вашему диску Google», — говорится в официальной документации инструмента.

Использование Gdrive

Вот примеры некоторых основных операций с Google Диском, которые вы можете выполнять с помощью Gdrive. 
Я предполагаю, что исполняемый файл Gdrive, который вы загружаете в свою систему, также называется gdrive-linux-386 и хранится в вашем текущем рабочем каталоге. 

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

 Для просмотра содержимого (файлов и каталогов) вашего Google Диска вы можете использовать следующую команду:

./gdrive-linux-386 list

Если вы хотите ограничить максимальное количество файлов, которые могут отображаться в выходных данных (по умолчанию 30), вы можете добавить флаг -m, следующий за номером, который представляет новый максимальный предел. 
Например:

./gdrive-linux-386 list -m 10

Вы также можете добавить запрос для фильтрации вывода на основе ваших требований. 
Например, если я хочу, чтобы в выводе были только определенные файлы (скажем, содержащие в своем имени «Gmail»), я могу использовать следующую команду:

./gdrive-linux-386 list -m 10 —query «name contains ‘gmail'»

Вот вывод вышеуказанной команды в моей системе:

Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive

Скачать и загрузить файлы

Учитывая, что Google Drive является облачным сервисом хранения данных, само собой разумеется, что вы захотите использовать Gdrive для загрузки и выгрузки файлов в/из своей учетной записи Drive. 
Вот как вы можете сделать эти операции: 
Чтобы загрузить файл, выполните следующую команду:

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

Чтобы загрузить файл в определенный каталог, используйте следующую команду:

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

Идентификатор каталога ([dir ID] в приведенной выше команде) можно получить из записи этого конкретного каталога, когда вы перечисляете содержимое диска с помощью Gdrive. 
Чтобы создать новый каталог на вашем Google Диске, используйте следующую команду:

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

Конечно, вы можете создать новый каталог, а затем использовать его идентификатор для загрузки файла в него. 
Наконец, вы можете использовать следующую команду для загрузки файла из вашей учетной записи Google Drive в вашу систему:

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

Есть несколько флагов, которые помогут вам с вашими операциями загрузки. 
Например, -f сообщит Gdrive перезаписать существующий файл с тем же именем (если есть), -r сообщает о необходимости рекурсивной загрузки каталога, а —delete гарантирует, что удаленный файл будет удален после успешной загрузки. 
Стоит отметить, что последние два флага также работают с операциями загрузки. 

Делиться файлами 

Gdrive также позволяет вам делиться своими файлами на Google Диске с другими. 
Например, если вы хотите сделать файл доступным для чтения всем, вы можете сделать это с помощью следующей команды:

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

Конечно, это не то, что мы всегда хотим. 
В основном мы делимся файлами с нашими друзьями или коллегами. 
Так, например, если вы хотите поделиться файлом с кем-то, кого вы знаете, вы можете сделать это с помощью следующей команды:

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

Приведенная выше команда предоставит разрешение на чтение вашему другу, чей адрес электронной почты вы должны указать вместо [email add]. 
Если вы хотите предоставить, скажем, разрешение на запись или комментирование, или даже хотите передать право владения, вам придется использовать флаг —role. 
Допустимые значения для этого флага: ‘owner’, ‘writer’, ‘commenter’, и ‘reader’. 
Вот пример того, как я использовал эту команду, чтобы поделиться файлом с одним из моих друзей, а также предоставил ему разрешение на запись.

Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive

Показать информацию о файле

Gdrive также позволяет получить доступ к информации, касающейся любых ваших файлов на Google Диске. 
Вот команда для этого:

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

Вот пример:

Как получить доступ к вашей учетной записи Google Drive из командной строки Linux с помощью Gdrive

Чтобы узнать больше о командах Gdrive и узнать, как работает этот инструмент, перейдите на официальную страницу проекта GitHub

Заключение 

Что мне понравилось в Gdrive, так это простота его использования, загрузки и установки, а также подробная документация, доступная на странице проекта GitHub. 
И не говоря уже о легко запоминающихся командах. 
Однако, с другой стороны, сама документация гласит, что «текущая реализация медленная и использует много памяти», то есть есть хорошие возможности для улучшения.