﻿# 在 Linux 如何使用 curl 下載從 Google Drive 分享的檔案

前陣子我需要安裝一台 Sybase ASE 資料庫到 Linux 主機，當我拿到安裝檔的時候，其實是一個 Google Drive 共用的連結，檔案大小有 1.4GB 左右，我不想先下載到我的 Windows 主機再上傳到 Linux 主機，我想直接從 Linux 主機下載該檔案。上網找了許多解決方案，但是這些作法幾乎都已經失效，最後還是自己研究出了一個很棒的方法，有需要的人請繼續看下去。

事實上，我這篇文章的技巧，利用到了 HTTP 的**無狀態**特性，因此可以適用於任何瀏覽器可以存取到的檔案，不單單只是 Google Drive 分享的檔案而已。

以下就是可以順利從 Linux 直接下載任意檔案的操作步驟：

1.  先用 Chrome 開啟 Google Drive 共用出來的連結
    
    ![Google Drive](https://stwillblogassets.blob.core.windows.net/files/images/external/user-images.githubusercontent.com/ecd9f451c769471127b6-127020268-5a2bf110-2743-473e-bf1d-dfe5d5ec0e22.png)
    
2.  先按 F12 開啟開發人員工具，切換到 Network 頁籤，然後點擊 **仍要下載** 按鈕
    
    下載的時候會連續好幾次轉址，所以在 HTTP 302 之後的第一個 200 就是我們要使用的那個 HTTP 要求，請在這個 HTTP 要求按下滑鼠右鍵：
    
    ![F12 開發人員工具 / Network](https://stwillblogassets.blob.core.windows.net/files/images/external/user-images.githubusercontent.com/9dc5121daf039b712865-127022969-12d64b6d-495e-4f8a-9146-0402af02455e.png)
    
3.  點擊 **Copy as cURL (bash)** 複製 cURL 完整命令與參數
    
    ![Copy as cURL (bash)](https://stwillblogassets.blob.core.windows.net/files/images/external/user-images.githubusercontent.com/1cef1c8cea2f8a107a66-127023667-1cb30906-ea94-430e-8178-18e47ad94c78.png)
    
4.  進入 Linux 貼上命令，並加入 `-o <FILENAME>` 參數，即可順利下載該檔案！
    
    ![curl](https://stwillblogassets.blob.core.windows.net/files/images/external/user-images.githubusercontent.com/a02520fe0323c4334faf-127101621-57d1fdb8-3d27-4811-b849-ad68b3fb7846.png)
    
    > 請注意這個網址與命令有時效性，你只要幾分鐘之內沒有立即下載該檔案，此網址就會失效！
    

簡單 4 個步驟，無論任何 Internet 可存取的檔案都可以用這個技巧直接從 Linux 下載檔案！ 👍

### 相關連結

-   [Copy as curl - Everything curl](https://everything.curl.dev/cmdline/copyas.html)
