從零開始玩 Oh My Zsh —— 讓終端機效率大爆發!
本篇文章將會涵蓋以下重點:
Oh My Zsh 是什麼?為什麼大家都在用?
如何安裝與基本設定?
Git、Docker 指令縮寫表,讓你操作快到飛起來!
常見問題與進階參考
什麼是 Oh My Zsh?為什麼要用?
在講解安裝之前,我們先來聊聊 Oh My Zsh 到底有多強。
簡單的說法就是:
Zsh 是一個比 Bash 更強大的終端機殼層
Oh My Zsh 則是 Zsh 的「超強外掛包裝器」
換句話說,Oh My Zsh 幫你把終端機變成超級英雄,auto complete、主題美化、指令縮寫、外掛支援通通一把抓!
值得一提的是,Oh My Zsh 有超過 200+ 外掛、140+ 主題,社群超活躍,遇到問題一查就有解。
如何安裝 Oh My Zsh?
安裝超簡單,只要一行指令!
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
執行完畢後,Zsh 會自動成為預設殼層,並產生 ~/.zshrc 設定檔。
你可以在 ~/.zshrc 裡調整主題、外掛等設定。
安裝後必做的三件事
選主題:
編輯 ~/.zshrc,找到 ZSH_THEME,改成你喜歡的主題(例如 agnoster)。
加外掛:
找到 plugins=(git),可以加上 docker、zsh-autosuggestions 等。
套用設定:
執行 source ~/.zshrc 讓設定立即生效。
Oh My Zsh 指令縮寫大全
這邊整理了最常用的 Git 與 Docker 指令縮寫,分類清楚,查找超方便!
Docker 相關指令縮寫
🛠️ 建構與映像檔相關
別名指令說明dbldocker build建構 Docker 映像檔dibdocker image build同上,使用 image 子命令diidocker image inspect查看映像檔詳細資訊dilsdocker image ls列出所有映像檔dirmdocker image rm移除映像檔ditdocker image tag標記映像檔dipudocker image push推送映像檔到 registrydiprudocker image prune -a清除未使用的所有映像檔
📦 容器操作相關
別名指令說明drdocker container run執行容器dritdocker container run -it互動模式執行容器dstdocker container start啟動容器drsdocker container restart重新啟動容器dstpdocker container stop停止容器dstadocker stop $(docker ps -q)停止所有執行中的容器drmdocker container rm移除容器drm!docker container rm -f強制移除容器dclsdocker container ls列出執行中的容器dclsadocker container ls -a列出所有容器(含已停止)dcindocker container inspect查看容器詳細資訊dlodocker container logs查看容器日誌dpodocker container port查看容器 port 對應關係dtopdocker top查看容器內的執行程序dstsdocker stats即時顯示資源使用狀況dpsdocker ps顯示執行中的容器dpsadocker ps -a顯示所有容器
🧩 Volume 操作
別名指令說明dvlsdocker volume ls列出所有 volumedvidocker volume inspect查看 volume 資訊dvprunedocker volume prune清除未使用的 volume
🌐 網路操作
別名指令說明dnlsdocker network ls列出網路dnidocker network inspect查看網路資訊dncdocker network create建立新的網路dnrmdocker network rm刪除網路dncndocker network connect將容器加入網路dndcndocker network disconnect將容器從網路移除
🔧 其他常用指令
別名指令說明dpudocker pull從 registry 拉映像檔dxcdocker container exec在容器中執行指令dxcitdocker container exec -it互動模式執行容器指令
Git 相關指令縮寫
🔍 狀態與日誌相關
別名指令說明gstgit status查看目前 Git 狀態gssgit status --short精簡版狀態顯示gsbgit status --short --branch顯示簡潔的分支狀態gshgit show顯示提交的詳細變更glggit log --stat顯示提交記錄及修改統計glgpgit log --stat --patch顯示提交記錄與實際程式碼變更gloggit log --oneline --decorate --graph圖形化簡短提交歷史glolgit log --graph --pretty="..."圖形化並美化的 log 輸出glgggit log --graph圖形化 log
🧩 加入變更與提交
別名指令說明gagit add加入變更檔案至暫存區gaagit add --all加入所有變更gcamgit commit --all --message一次加入變更並提交gcgit commit --verbose進行詳細提交gcagit commit --verbose --all加入所有變更並進行詳細提交gcmsggit commit --message使用訊息提交gcn!git commit --verbose --no-edit --amend不改訊息並修改上次提交
🔁 分支操作
別名指令說明gbgit branch查看本地分支gbagit branch --all查看所有分支gbrgit branch --remote查看遠端分支gcbgit checkout -b建立並切換新分支gcogit checkout切換分支或檔案gcmgit checkout $(git_main_branch)切換到主要分支gcdgit checkout $(git_develop_branch)切換到開發分支gbdafunction,自動刪除已合併分支清理本地已合併分支gbdgit branch --delete刪除本地分支gbDgit branch --delete --force強制刪除本地分支
📥 抓取與拉取
別名指令說明gfgit fetch從遠端抓取更新gfagit fetch --all --tags --prune抓取所有遠端更新並清理已刪除分支glgit pull從遠端拉取更新ggpullgit pull origin $(git_current_branch)拉取當前分支遠端更新gpromgit pull --rebase origin main拉 main 分支並使用 rebasegprgit pull --rebase使用 rebase 的方式拉取更新
📤 推送與上傳
別名指令說明gpgit push推送變更至遠端ggpushgit push origin $(git_current_branch)推送目前分支gpfgit push --force-with-lease安全強制推送gpsupgit push --set-upstream origin ...設定上游分支
📌 標籤(Tag)與版本
別名指令說明gtagit tag --annotate建立註解標籤gtsgit tag --sign建立簽章標籤gtvgit tag sort -V顯示排序過的版本標籤
💾 暫存(stash)
別名指令說明gstagit stash push將變更暫存gstpgit stash pop還原最新暫存gstlgit stash list顯示暫存清單gstsgit stash show --patch顯示暫存內容
🔧 其他實用指令
別名指令說明gclgit clone --recurse-submodulesClone 並包含子模組gcleangit clean --interactive -d互動清理未追蹤檔案gignoredgit ls-files -v | grep "^[[:lower:]]"列出被 Git 忽略的檔案gcountgit shortlog --summary --numbered計算作者貢獻統計gwipgit add -A && ... --message "--wip--"快速建立 WIP commitgunwipgit reset HEAD~1(如有 WIP commit)撤銷最後一次 WIPggsupgit branch --set-upstream-to=origin/$(git_current_branch)設定上游分支
常見問題與進階參考
遇到設定問題、想找更多主題或外掛?
主題展示:Themes Gallery
外掛清單:Plugins List
參考資料:
Oh My Zsh 官方文件
GitHub - ohmyzsh/ohmyzsh
Zsh 官方手冊