我在哪裡我是誰的名詞解釋

  • 150
  • 0

Shell、Bash、zsh簡介

終端機背後究竟是什麼?這個問題常困擾我。
只是在幫 iTerm2 裝個 Theme而已,以為照著 Google 到的指令做就好,連自己在什麼環境也搞不清楚,在 zsh 用 linux 指令也是枉然。
每當這種時候總會有種「我在哪裡我是誰」的感覺,希望這短短一篇節錄維基百科內容加上前輩指導的筆記,可以幫助我也可以幫助迷途的同路人。

  • Shell
    Unix shell,Unix 作業系統下,傳統使用者使用指令和電腦的互動介面。
    普通意義上的shell就是可以接受使用者輸入命令的程式。因為隱藏了作業系統底層的細節,像貝殼一樣,被稱為 Shell。
    Unix作業系統下的shell既是使用者互動的介面,也是控制系統的手稿語言。是控制系統啟動、X Window啟動和很多其他實用工具的指令碼解釋程式。
    Shell 快捷鍵
    Ctrl + c: 放棄目前command line 開啟新的輸入
    Ctrl + w: 刪除一個單字
  • Bash
    Mac 終端機預設的 Unix shell,是一個指令處理器
    Linux 與 Mac OS X v10.4 起至 macOS Mojave 都將它作為預設 Shell。自 macOS Catalina ,預設 Shell 以 zsh 取代
  • zsh
    本名 Z Shell,Shell 中 Bourne Shell 相容的其中一種
    open ~/.zshrc 開啟設定檔,真的會打開一個txt,可直接修改 zsh 設定值,儲存後即修改設定值。利用source ~/.zshrc啟用。
  • oh-my-zsh
    是 Github 使用者社群,截至 2020 年在 Github 由 1700 位以上貢獻者收集了超過 300 個 zsh plugin 及140個以上的 zsh 主題以及自動更新工具讓安裝外掛程式和主題更方便更新。
    好用的 zsh plugin
    • zsh-autosuggestions [安裝說明]
      輸入指令前幾個字母後,會顯示 auto complete 的完整指令
      可用 end 鍵或 ctrl + f 擷取出顯示的指令
      利用 ctrl + w 快速刪除單字
  • 其他工具
    fzf
     [可用Homebrew安裝: brew install fzf] 
    ctrl+r:  顯示最近執行指令,利用上下鍵移動,enter鍵選擇指令,選擇後不會立即執行,可修改後再送出執行。
  • Shell、Bash、zsh 大部分指令可以互通(天下武功出少林的概念,但少林跟武當還是有不一樣的地方)