CodeGym /課程 /Docker SELF /指令列基礎 (CLI):指令結構、終端機操作

指令列基礎 (CLI):指令結構、終端機操作

Docker SELF
等級 1 , 課堂 4
開放

1. 認識 Linux 指令列

為什麼要用指令列?

在我們深入之前,先來聊聊一個重點:既然 Linux 有這麼多漂亮的圖形介面,為什麼還要用指令列?指令列 (Command Line Interface, CLI) 是專業人士、系統管理員還有 程式設計師的神兵利器。用 CLI 你可以更快完成任務、自動化重複動作,甚至在鍵盤上耍點魔法。CLI 基本上就是 Linux 世界的超能力,讓你效率爆表。

終端機、Shell 跟 CLI

在你輸入第一條指令前,先來搞懂終端機背後的魔法。

1. 終端機

終端機就是一個程式,讓你能進入指令列。它讓你用文字跟作業系統互動。在 Linux 上常見的終端機有:

  • GNOME Terminal(在 GNOME 桌面環境)
  • Konsole(在 KDE 桌面環境)
  • xterm(傳奇但有點老)
  • Windows Terminal for WSL

2. Shell(殼層)

Shell 是一個軟體,負責解讀你的指令並傳給作業系統。在 Linux 裡最紅的 shell 就是 Bash(Bourne Again Shell)。其他選擇還有:

  • Zsh:進階玩家超愛自訂的 shell。
  • Sh:經典 Unix shell(極簡風)。

我們一開始會用 Bash,因為它是預設標配。


2. 指令結構

CLI 的指令有嚴格格式,搞懂這個就是成功的關鍵。

指令的基本格式

每條指令分三個部分:

[指令] [選項] [參數]
  • 指令:你要系統做什麼。例如 ls(顯示檔案列表)。
  • 選項(或旗標):改變指令行為。例如 -lls 的詳細列表)。
  • 參數:你要給指令的額外資料,比如檔案或資料夾路徑。

範例:

ls -l /home

這裡:

  • ls — 指令;
  • -l — 顯示詳細列表的選項;
  • /home — 參數(我們想看的資料夾)。

3. CLI 導航與基本指令

先從最簡單的指令開始,體驗一下怎麼跟系統互動。

1. 我是誰?我在哪?

  • whoami:顯示目前使用者。

    $ whoami
    student
    
  • pwd(print working directory):顯示目前所在目錄。

    $ pwd
    /home/student
    
重要!

在大多數 Unix/Linux shell 裡,$ 這個符號是終端機的提示字元(prompt),代表系統已經準備好接收你的指令。$ 也常用來分隔你要輸入的指令和指令的輸出。

2. 看看周圍有什麼

  • ls(list):顯示目前目錄內容。

      $ ls
      Documents  Downloads  Music
    

    實用選項:

    • -l:顯示檔案和資料夾詳細資訊。
    • -a:顯示隱藏檔案。

範例:

ls -la

3. 在資料夾間移動

  • cd(change directory):讓你在目錄間切換。
    $ cd /home
    $ pwd
    /home
    

4. 終端機快捷鍵

指令列有一堆超方便的快捷鍵:

  • Ctrl+C:中斷目前指令。
  • Ctrl+D:結束目前 session。
  • Tab:自動補齊檔案或資料夾名稱。超好用,常常用!
  • Arrow Up/Down:切換你最近下過的指令。

小技巧:想裝一下駭客,按 Ctrl+C 再帥氣地看向遠方,超有感覺。


5. 簡單指令範例:來動手做!

來做個小練習,用 CLI 解決一個簡單任務。

任務:

  1. 查詢目前使用者。
  2. 切換到家目錄。
  3. 看看裡面有什麼。
  4. 建立一個資料夾 test_folder
  5. 檢查資料夾有沒有出現。

解法:


# 查詢目前使用者
whoami

# 切換到家目錄
cd ~

# 看看目錄內容
ls

# 建立資料夾
mkdir test_folder

# 檢查有沒有建立成功
ls -l

步驟說明:

  1. whoami 查你是誰。
  2. cd ~ 切到家目錄。~ 這個符號永遠指向你自己的家目錄。
  3. ls 讓你看到建立資料夾前後的內容。

6. 常見錯誤與避免方法

剛開始用指令列一定會出錯,這裡列幾個常見狀況:

  • 檔名/資料夾名有空格。如果名字有空格,記得用引號包起來。例如:

    mkdir "My Folder"
    
  • 路徑寫錯。如果你看到 No such file or directory,代表你給的路徑不存在。

    cd /unknown/path
    
  • 指令拼錯。終端機不會幫你糾正:lssls 是不同指令(甚至可能根本沒這指令)。


7. 為什麼要學這些?

CLI 是管理系統的超強工具。從伺服器設定到寫自動化腳本都用得到。面試時也常會問你怎麼用終端機解決問題,所以你現在學的這些,絕對會派上用場。

另外,CLI 也會幫你學會怎麼用像 git 這種版本控制系統、開發 server 端應用、寫自動化腳本。這一切都從搞懂指令結構、資料夾切換、基本快捷鍵開始。

來點實作

試試看這個任務:

  1. 查詢目前日期。
  2. 建立一個資料夾 logs
  3. 在裡面建立一個 log.txt,寫入目前日期。
範例解法

# 查詢目前日期
date

# 建立 logs 資料夾
mkdir logs

# 把日期寫進 log.txt
date > logs/log.txt

# 檢查檔案內容
cat logs/log.txt

你現在已經準備好進階,開始玩檔案系統和內容囉!

8. 什麼是 CodeGym 插tyin,幹嘛用的?

你可以在網站或 JetBrains IDE(裝好 CodeGym 插tyin 和 Shell Script,通常 Shell Script 已經有了)裡解題。

如果你還沒裝 IDE,推薦你裝 IntelliJ IDEA Community Edition

  1. 安裝教學:怎麼裝 IntelliJ IDEA。
  2. 怎麼 建立第一個專案。

你可以直接在 Jetbrains marketplace 裡下載 CodeGym 插tyin。

  1. 進到「設定」,Windows/Linux File - Settings,MacOS IntelliJ IDEA - Preferences。如果沒看到設定,先開一個專案或新建一個。

  2. 在彈出的視窗左側選 Plugins,然後點 Marketplace。搜尋欄輸入 codegym

  3. 選好插件後點 Install
  4. 重啟(Restart IDE)IntelliJ IDEA,開始用插件。
  5. 你會看到介面有點變,頂部橫條會多一個 登入帳號 按鈕。
  6. 點下去會跳出登入視窗,輸入你的密鑰就好。密鑰可以在 「設定」→「安全性與登入」 找到。

  7. 要開新任務,點左側垂直欄的 Tasks,再點左側任務卡片,彈窗裡點 開啟

  8. 你會看到兩個分頁,一個是題目,一個是寫 code。還有 shellcheck 的訊息,檢查 shell script,直接同意就好
  9. 現在寫好解答,按 Validate 送出檢查,或本地執行。

插件裝好了!現在可以開始解題囉。

網站與插件任務同步

任務列表和狀態會自動更新,每五分鐘或你送出任務後(CodeGym 伺服器)。

所以你在網站解完的題目,插件裡也會顯示已完成。如果想馬上更新任務狀態,點右上角你的頭像,選 同步任務

插件新手模式

這是給沒什麼 IntelliJ IDEA 經驗的同學用的簡化版,會隱藏一些 IDEA 功能。要關掉這模式,點右上角頭像,選設定:

PRO 模式下怎麼隱藏插件導航欄

點設定(⚙️),把「顯示插件導航欄」的勾勾拿掉:

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION