
Я только что синхронизировал большой (~50 ГБ?) диск Google с локальной ОС OSX 10.14.5 (Mojave) с помощью Google Drive File Stream v.32.
Я пытаюсь получить список всех файлов, которые были синхронизированы с
find /Volumes/GoogleDrive/My Drive/folder
Однако для многих подкаталогов это приводит к ошибкам, вызывающим сообщения следующего вида:
./xyz
find: ./xyz: No such file or directory
те же ошибки возникают, если я пытаюсь ls -1R
.
Интересно, что если я cd
перейду в каталоги, вызывающие проблемы, а затем попробую find
или ls
, то это, кажется, сработает.
Есть идеи, что здесь происходит? Какую магию использует поток файлов Google Drive, чтобы каталоги не могли быть рекурсивными с помощью find
или ls
, но выможет cd
в них и затем использовать эти команды?
Обратите внимание, что просмотр каталогов в вопросе с помощью Finder на Mac, кажется, работает нормально - все каталоги на месте. Похоже, что по какой-то причине у инструментов командной строки возникли проблемы...
Возможно связано: https://stackoverflow.com/questions/50802125/google-drive-file-stream-on-os-x-fails-to-ls-files
решение1
Я попробовал другой подход, чтобы удалить кэш Google Drive Desktop/Google File Stream, как описано здесь:https://remarkablemark.medium.com/how-to-clear-google-drive-cache-abf9efc6089e
После этого ls and
команды find`, похоже, сработали. Так что, возможно, кэш был каким-то образом поврежден. Стоит попробовать, если вы когда-нибудь с этим столкнетесь.
решение2
Совершенно иной подход может заключаться в использовании API GoogleDrive. См. напримерhttps://developers.google.com/drive/api/guides/search-files