Duck - 管理雲端空間的指令列工具
最近因為有上傳大量檔案到 Google Drive 的需求,嫌使用 GUI 工具沒有效率,搜尋發現了一款好用的指令列工具 - Duck

最近因為有上傳大量檔案到 Google Drive 的需求,嫌使用 GUI 工具沒有效率,所以搜尋了可以管理上傳下載或檔雲端空間案管理指令列工具,找到了這款工具 - duck
duck 事實上是 Cyberduck 這個雲端空間管理 app 的指令列版,所以同樣的也需要 Java,而在不同作業系統平台上需要的配置可能不同,筆者主要用 macOS, 所以以下就主要以 macOS 的安裝配置來介紹
macOS 需要先行安裝 Homebrew,相關說明可以參考這一篇
安裝
brew install duck
前面提過要先安裝 Java, 如果沒有在安裝過程中就會跳出提示訊息。
安裝完 duck 以後,輸入 duck --help
可以列出詳細設定說明
Google Drive 配置以及操作示範
事實上 duck 支持多種不同的雲端空間,不是只有 Google Drive ,但是筆者主要使用的是 Google Drive , 因此僅就設定 Google Drive 的過程來簡述。
duck 連接 Google Drive 的格式如下:
googledrive://[email protected]/
假設我想列出路徑底下的檔案,
duck -l google drive://[email protected]/path/
第一次連接時,會使用 OAuth2 驗證,跳轉到 Safari 登入視窗取得 Google 帳戶授權以後跳轉回來,之後就會記憶授權直接登入。
大部分人用到最多的應該是上傳功能
duck --upload google drive://[email protected]/path/ /uploadfile
要注意的是,duck 指令輸入時有以下特點:
- 資料夾後面一定要加/, 否則會被當成檔案處理,如 /folder 與 /folder/ 是不同的
- 檔名空白請記得跳脫,如 /My\ Folder/,如果出錯,改成/My%20Folder/ 試試看
如果怕 macOS 在上傳半途中睡眠,可以在前面加個 caffeinate -i
caffeinate -i duck -l google drive://[email protected]/path/