[UBUNTU]linux 的onedrive client app的基本使用方法

 

在 Linux 上,我們通常安裝並使用的是社群開發的 OneDrive 客戶端應用程式,而這個應用程式的執行指令通常是 onedrive (由 abraunegg 維護,也是 Snapcraft 上提供的版本) 或 onedrive-cli (由 lionello 維護,這是另一個較舊的項目)。

根據你提到的情況,你安裝的應該是 abraunegg 維護的那個版本,因為 Snapcraft 上的 onedrive-cli 實際上安裝的是 abrauneggonedrive 客戶端,但它在 Snap 套件中被命名為 onedrive-cli。這確實容易讓人混淆。


釐清指令:onedrive vs onedrive-cli

  • onedrive (主要推薦使用,由 abraunegg 維護):

    • 這是目前功能最完善、最活躍且推薦的 Linux OneDrive 客戶端。
    • 如果你是透過 sudo snap install onedrive-cli 安裝的,那麼它預設的執行指令就是 onedrive
    • 它的功能包括雙向同步、監控模式、排除/包含檔案等。
  • onedrive-cli (較舊的項目,由 lionello 維護):

    • 這是另一個獨立的 OneDrive 命令列工具,通常不是透過 Snap 安裝。
    • 它的指令是 onedrive-cli,但功能可能不如 abrauneggonedrive 豐富。
    • 如果你沒有特別安裝這個版本,通常不需要考慮它。

基於你的情況,正確的使用方法

既然你確認了 onedrive-cli 才起作用,那麼我之前提供的指令需要調整。這表示即使你使用 snap install onedrive-cli 安裝,執行指令卻是 onedrive,但實際上你輸入 onedrive-cli 才能執行程式。這可能是 Snap 套件本身在建立別名 (alias) 或執行檔連結上的特殊處理。

因此,請以 onedrive-cli 作為指令來執行所有操作。

以下是重新整理後,使用 onedrive-cli 指令的基本使用方法:


Linux OneDrive 客戶端 (onedrive-cli) 基本使用方法

1. 安裝 onedrive-cli

Bash
sudo snap install onedrive-cli

這個指令將會安裝 abrauneggonedrive 客戶端,但你將透過 onedrive-cli 來執行它。

2. 授權 onedrive-cli 連結到你的 OneDrive 帳戶

這是首次使用時的關鍵步驟。你需要讓 onedrive-cli 獲得訪問你 OneDrive 的權限。

執行以下指令:

Bash
onedrive-cli

或者,如果它需要一個參數才能啟動授權流程,通常是 -h--help 會給你提示。更常見的情況是,這個指令會直接輸出一個 URL。

你會看到類似以下的輸出:

Authorize this app visiting: https://login.live.com/oauth20_authorize.srf?...
Enter the response uri:

你需要:

  • 複製這個 URL
  • 在你的瀏覽器中打開這個 URL
  • 登入你的 Microsoft OneDrive 帳戶並授權 onedrive-cli 訪問你的檔案。
  • 成功授權後,瀏覽器會跳轉到一個空白頁面或顯示一個授權碼(通常在 URL 的參數中,例如 code=YOUR_AUTH_CODE_HERE)。
  • 複製這個授權碼
  • 將這個授權碼貼到終端機中,然後按 Enter。

這樣就完成了授權過程。onedrive-cli 會將你的 access token 儲存在一個隱藏檔中,以便後續操作。

3. 配置同步目錄 (可選)

onedrive-cli 預設會在你的家目錄下建立一個 OneDrive 資料夾來同步檔案。如果你想更改同步目錄,可以編輯配置文件。

配置文件通常位於 ~/.config/onedrive/config

你可以透過以下指令來查看或編輯配置檔:

Bash
onedrive-cli --display-config

如果需要編輯,你可以使用文本編輯器打開:

Bash
nano ~/.config/onedrive/config

在配置檔中,找到 sync_dir 參數來設定你的同步目錄,例如:

sync_dir = "/home/youruser/MyCloud/OneDrive"

4. 執行同步操作

onedrive-cli 通常支援以下兩種主要同步模式:

  • 一次性同步 (Synchronize):

    執行一次性的同步,將本地檔案與 OneDrive 雲端進行比對和同步。

    Bash
    onedrive-cli --synchronize
    

    這個命令會將本地目錄的檔案與 OneDrive 上的檔案同步,包括下載新檔案、上傳本地新增的檔案、處理刪除和修改等。

  • 持續監控同步 (Monitor Mode):

    讓 onedrive-cli 在後台持續運行,實時監控本地目錄的變化並自動同步到 OneDrive,反之亦然。

    Bash
    onedrive-cli --monitor
    

    如果你希望它在開機時自動運行,通常需要搭配 systemd 服務來配置。

5. 其他常用命令

你可以使用 onedrive-cli --help 來查看所有可用的命令和選項。一些常見的指令包括:

  • 列出 OneDrive 上的檔案

    Bash
    onedrive-cli --list
    
  • 查看狀態

    Bash
    onedrive-cli --status
    
  • 模擬同步 (不實際更改檔案)

    Bash
    onedrive-cli --synchronize --dry-run
    
  • 排除或包含特定檔案/資料夾:

    這通常需要在配置文件中設定 skip_file、skip_dir 等參數。


再次感謝你的指正,這對於其他遇到相同問題的使用者來說非常重要!希望這個更新後的指南能幫助你更好地使用 onedrive-cli

你是否在使用 onedrive-cli --monitor 模式時有遇到任何特定的問題,或者希望設定開機自動啟動呢?

留言