終端和 shell 究竟是什麼
用普通應用時,你點選按鈕,應用把你的點選翻譯成給電腦的指令。命令列跳過了按鈕。你輸入一條指令,按下回車,電腦就去執行它。
有兩個詞你會經常聽到:
- 終端(Terminal)——你輸入文字的那個視窗。它只是一個帶歷史記錄的文本框。(在 Mac 上叫 "Terminal" 或 "iTerm";在 Windows 上叫 "PowerShell" 或 "Windows Terminal";在 Linux 上通常就叫 "Terminal"。)
- shell——那個視窗裡面讀取你輸入並執行它的程式。最常見的一個叫 bash;Mac 用的是一個叫 zsh 的。就本書涉及的一切而言,兩者的行為幾乎完全相同。
每次你按下回車,迴圈就是這樣的:shell 讀取你輸入的內容,找到並執行匹配的程式,再把那個程式產出的任何東西列印回窗口裡。
你輸入 ┌─────────┐ 查詢+執行 ┌──────────┐ 列印
一條命令 ──▶│ SHELL │ ──────────────▶ │ PROGRAM │ ──────────▶ 輸出
+回車 │ (讀取) │ │ (執行) │ 在視窗
└─────────┘ └──────────┘
▲ │
└──────── 準備好下一條命令 ◀─────┘
AI 程式設計工具為什麼住在這裡?因為命令列是開發的通用控制台。安裝工具、啟動應用、執行測試、部署到網際網路——所有這些都通過輸入的命令發生。AI 智慧體的工作方式就是輸入與你會輸入的相同命令,只是更快、沒有拼寫錯誤。當你看著它幹活時,你看到的正是它在使用那扇你也將使用的門。