5 分鐘認識終端機和命令列

5 分鐘認識終端機和命令列

發布於

終端機:你叫電腦做事的介面

終端機(Terminal),是電腦主機的終端——跟使用者接觸的這一端。
是你可以直接對著電腦「輸入命令」的地方。

它不是什麼新東西,
我小時候就是用終端機啟動仙劍奇俠傳來玩的,
那是三十年前的事了,
講這個是要再強調一次:
這不是你跟 AI 對話的地方,而是你叫電腦做某件事的地方。

但你還是可以把它想像成「跟電腦的 LINE 聊天介面」:

終端機介面與 LINE 聊天介面對照
終端機介面與 LINE 聊天介面對照

只是要注意三個不一樣的地方:

  1. 電腦只讀得懂「命令」(Command)
  2. 你們的對話始終都會在「某個資料夾」裡面進行
  3. 實際上是「你下命令,電腦執行」,並不是「對話」。

我接著解釋這幾點。

命令列與命令

在終端機裡,我們可以輸入命令的地方就叫做命令列(Command Line)。
用聊天介面的比喻來說,就是我們平常輸入訊息的地方。

而一行命令最簡單的架構是:
命令 參數

等一下啦,不要看到這裡就放棄,我馬上用比喻解釋。

想像一下我們現在在一間賣滷肉飯的店門口,
沒有點菜單,你要跟老闆點餐,你會說:
「點餐,一碗滷肉飯」。

現在你看得懂了,這就是一行命令。

點餐 = 命令
一碗滷肉飯 = 參數

中間用空格隔開,
就像你點餐的時候,兩句話中間可能會停個半秒鐘,不讓字連在一起,
讓臉很臭的老闆聽得懂,不會生氣。

參數是「可以調整的命令內容」,
就像你也可以點燙青菜或油豆腐,
同一個命令,不同的參數,你都會完成「點餐」,但拿到不一樣的餐點。

「房間」裡的對話

從滷肉飯店回到電腦前面,我們來看下面這行命令:
cd ~/Downloads

你叫我講人話?
好,翻譯成中文會長這樣:
去 我的 Downloads 資料夾

前面有說到「對話會在某個資料夾中進行」,
是因為在電腦裡,檔案還是按著「資料夾架構」來儲存,
用比喻來說,電腦的儲存系統像是一棟大樓,
一層一層的資料夾就像是大樓中的樓層和房間:

資料夾結構就像大樓的樓層與房間
資料夾結構就像大樓的樓層與房間

cd 這個命令就是在切換所在的位置(change directory),
用大樓和房間的比喻來看,
cd 就是「去某個房間」,後面要給的參數就是「房間位置」。

所以我們再回到滷肉飯店前面,
你現在再看一下四周,
你會發現這裡其實是百貨公司的美食街(誰會發現)。

如果你在這裡說「點餐,沙朗牛排」,
臭臉老闆就會生氣,告訴你這裡不賣牛排。
你要執行「去,牛排店」,來到牛排店這裡才能點。
這就是 cd 這個指令的作用。

(到底誰看得懂這些奇怪的比喻)

其實不是對話

最後的不同點就是「你和電腦不是在對話」:
前面用「對話」這個詞只是希望比較好理解,
終端機原本就是在「用文字操作電腦」,
所以運作方式就是「你下命令,電腦執行」,
只是如果執行的命令會有輸出結果,
才會顯示在畫面上給你看。

ls 這個命令來說,它是「列出當前資料夾的檔案清單」,
所以畫面上就會顯示出清單。

而剛剛介紹的 cd,因為只是切換位置,就沒有輸出結果。

結語

好啦,希望以上說明能讓你簡單理解終端機和命令列是什麼,
「命令」的格式還會更複雜,會在接下來的文章中繼續說明!

如果還是聽不懂,也是很正常的,絕對是我亂講比喻的問題
請再跟我說哪裡不懂!

下面來點小測驗:
Q:一行命令的最簡單架構是什麼?
Q:終端機像是跟電腦的什麼(??介面)?但又有哪裡不同?

試著自己先回答看看,這能幫助你記住喔~