2025/07/22

Gcloud Common Commands

☁️ gcloud 常用指令小抄

🧑‍💼 account:帳號管理

功能 指令
登入 gcloud auth login
登出 gcloud auth revoke
查看目前帳號 gcloud config get-value account
設定預設帳號 gcloud config set account <ACCOUNT>
列出所有帳號 gcloud auth list

🏢 project:專案管理

功能 指令
列出所有可用的專案 gcloud projects list
查看目前使用中的專案 gcloud config get-value project
切換專案 gcloud config set project <PROJECT_ID>
查看目前所有 config gcloud config list

💻 compute:VM 實例管理

一般操作

功能 指令
列出所有 instance gcloud compute instances list
查看 instance 詳細資訊 gcloud compute instances describe <INSTANCE> --zone=<ZONE>
啟動 instance gcloud compute instances start <INSTANCE> --zone=<ZONE>
關閉 instance gcloud compute instances stop <INSTANCE> --zone=<ZONE>
刪除 instance gcloud compute instances delete <INSTANCE> --zone=<ZONE>

SSH & 檔案傳輸

功能 指令
SSH 連線 gcloud compute ssh <INSTANCE> --zone=<ZONE>
上傳檔案 gcloud compute scp <LOCAL> <INSTANCE>:<REMOTE> --zone=<ZONE>
下載檔案 gcloud compute scp <INSTANCE>:<REMOTE> <LOCAL> --zone=<ZONE>
rsync 資料夾 gcloud compute rsync <LOCAL_DIR> <INSTANCE>:<REMOTE_DIR> --zone=<ZONE>

📦 scp 常用參數

參數 說明
--recurse-r 遞迴傳輸資料夾
--compress 傳輸時壓縮(較快)
--scp-flag="-C" 額外傳入 scp flag,例如啟用壓縮

📦 storage:Cloud Storage 操作

功能 指令
列出 bucket gcloud storage buckets list
建立 bucket gcloud storage buckets create <BUCKET> --location=<REGION>
上傳檔案 gcloud storage cp <LOCAL> gs://<BUCKET>/
下載檔案 gcloud storage cp gs://<BUCKET>/<FILE> <LOCAL>
刪除檔案 gcloud storage rm gs://<BUCKET>/<FILE>
刪除 bucket gcloud storage buckets delete <BUCKET>

🔁 Cloud Storage rsync

gcloud storage 支援類似 rsync 的功能來同步本地與 GCS 目錄:

上傳資料夾到 bucket

gcloud storage rsync -r ./local-folder gs://my-bucket/remote-folder

從 bucket 下載資料夾

gcloud storage rsync -r gs://my-bucket/remote-folder ./local-folder

🛠️ 常用參數

參數 說明
-r 遞迴處理目錄(必要)
-d 刪除目標端中不存在的檔案(mirror 同步)
-n 模擬執行(dry run,不實際動作)
-x "<REGEX>" 排除符合正則的檔案

🧩 其他常用指令

設定與服務

功能 指令
查看目前所有 config gcloud config list
清除設定 gcloud config unset <PROPERTY>
啟用服務 gcloud services enable <SERVICE>
停用服務 gcloud services disable <SERVICE>

IAM 權限操作

功能 指令
查看 IAM 成員 gcloud projects get-iam-policy <PROJECT>
新增 IAM 成員與角色 gcloud projects add-iam-policy-binding <PROJECT> --member="user:<EMAIL>" --role="roles/<ROLE>"

🧠 小提醒

  • 使用 get-value 取得設定值比 list 簡潔:
gcloud config get-value project
gcloud config get-value account
gcloud config get-value compute/zone
gcloud config get-value compute/region