JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

你的第一行命令列

一旦你明白那塊黑屏只是一個給電腦下指令的地方,它就不可怕了——這就是入門方法。

命令列到底是什麼

那個嚇人的黑色視窗,只是一個讓你給電腦逐行輸入指令的地方。在那裡聆聽的程式叫做 外殼程式(shell):你輸入一條命令,按下 Enter,它就去辦事,然後打字回應你。可以把它想成你在給電腦傳訊息,而不是用滑鼠點它。

外殼程式不能直接碰硬體。它把你真正的請求往下傳給 核心(kernel)——作業系統最底層的核心,由它真正去打開檔案、讀寫磁碟、執行程式。你對外殼程式說話,外殼程式再悄悄轉告核心。

看懂提示字元

在你輸入任何東西之前,外殼程式會先顯示一小行,叫做提示字元(prompt)。它通常以一個美元符號 ` 你的第一行命令列 — JOVANA Education

你的第一行命令列

結尾。這個 ` 你的第一行命令列 — JOVANA Education

你的第一行命令列

只是外殼程式在說:「我準備好了——換你了。」你在它後面打字,而不是前面。

` 你的第一行命令列 — JOVANA Education

你的第一行命令列

前面的文字通常顯示你目前所在的位置——也就是你的路徑(path),比如 `~/projects`。那個波浪號 `~` 是你家目錄的簡寫。所以每次提示字元出現,它都在悄悄回答「我是誰、我在哪」。

四處走動:你的地圖

你的檔案存放在一層套一層的資料夾裡,就像大樓裡一間套一間的房間。三條命令就是你全部的地圖。`pwd` 在問「我站在哪裡?」`ls` 在問「這個房間裡有什麼?」而 `cd` 的意思是「走進那個房間。」說真的,你需要的差不多就這些。

$ pwd
/Users/you/projects
$ ls
notes.txt   website   photos
$ cd website
$ pwd
/Users/you/projects/website
先看看自己在哪,環顧四周,走進一個資料夾,再確認一次。

動手做事,以及那張隱形成績單

要執行一條命令,你就輸入它的名字然後按 Enter——就這麼簡單。`mkdir photos` 會新建一個叫 photos 的資料夾;`echo hello` 只是把 hello 這個詞印回給你看。外殼程式辦完事、顯示結果,再把提示字元交還給你,好讓你繼續下一條。

這裡有一點新手很少注意到:每條命令結束時都會悄悄交回一個退出碼(exit code)0 代表成功;其他任何數字都意味著出了問題。你平時看不到它,但腳本和工具一直在讀它,用來決定要不要繼續往下走。

$ ls notes.txt
notes.txt
$ echo $?
0
$? 保存著上一條命令的退出碼——0 確認它成功了。

進階招式:管道、旗標和腳本

管道(pipe)寫作 `|`,它把兩條命令接起來,讓第一條的輸出變成第二條的輸入——就像把兩根花園水管接到一起。`ls | wc -l` 先列出你的檔案,再把這份清單直接送進一個計數器,於是你得到的是一個整潔的總數,而不是一大堵檔名的牆。

大多數命令還接受旗標(flag)——以短橫線開頭的小開關,用來改變行為。`ls -l` 顯示詳細列表;`ls -a` 顯示隱藏檔案。通常你還能把它們疊在一起,比如 `ls -la`。旗標就是一條命令悄悄勝任許多活兒的祕訣。

當你把一堆命令存進一個檔案,你就做出了一個腳本。但在系統肯執行它之前,你得用檔案權限(file permissions)把它標記為「可執行」——下面的 `+x` 字面意思就是「允許執行」。這就好比一份食譜:能讀,和廚房被允許去做,是兩回事。

$ chmod +x deploy.sh
$ ./deploy.sh
賦予執行權限,然後執行你自己的腳本。

連到另一台機器

有時候你想操控的電腦並不在你面前——它是遠方某個資料中心裡的一台伺服器。SSH 就是那條安全的隧道,讓你在那台遠端機器上打開一個命令列,像坐在它面前一樣打字。你用一行 `ssh [email protected]` 這樣的命令連上去,從那一刻起,你的命令就在那邊執行,而不是這邊。

在任何機器上,無論本地還是遠端,有些設定存放在環境變數(environment variables)裡——這是外殼程式揣在兜裡的帶名字的值,比如 `HOME` 或 `PATH`。命令透過讀取它們來知道東西在哪。你其實已經見過一個了:`$?` 就是一個保存著上一個退出碼的特殊變數。

小結:一張活命速查表

現在你已經夠用了:四處走動、查看東西、讓電腦幹活——全靠打字。把下面這幾條命令記牢,找一個你不介意隨便折騰的資料夾試一試,那塊黑屏就會從嚇人變成你最快的工具。

  1. pwd——我現在在哪?
  2. ls——這裡有哪些檔案?(加 -la 看全部)
  3. cd 資料夾——進去;cd .. 往上;cd ~ 回家目錄。
  4. echo $?——上一條命令成功了嗎?(0 = 成功)
  5. 命令1 | 命令2——把一條的輸出用管道送給下一條。
  6. chmod +x 檔案——讓你的腳本可以執行。