命令列基礎 (CLI):指令結構,終端機操作
1. 認識 Linux 指令列
為什麼要用指令列?
在我們深入之前,先來回答個大問題:既然 Linux 已經有漂亮的圖形介面了,為什麼還需要指令列?指令列 (Command Line Interface, CLI) 是專業人士、系統管理員和 程式設計師 的工具。有了 CLI,你可以更快地完成任務,自動化例行事務,甚至可以只靠鍵盤搞定所有事情,簡直像是在後台搞魔術。CLI 本質上就是 Linux 世界的一項超能力,能讓你變得超高效。
終端、Shell 和 CLI
在你輸入第一個指令之前,我們來搞清楚終端的魔法是怎麼來的。
1. 終端
終端是一個能夠提供指令列訪問的程式。它讓你可以透過文字與作業系統互動。在 Linux 中,有以下幾個非常流行的終端:
- GNOME Terminal (在 GNOME 環境中)。
- Konsole (在 KDE 環境中)。
- xterm (傳奇但有點老舊)。
- Windows Terminal 針對 WSL
2. Shell (Shell)
Shell 是解讀指令並將其傳遞給作業系統的軟體。在 Linux 中,最流行的 Shell 是 Bash (Bourne Again Shell)。其他選項包括:
- Zsh: 提供進階自定義功能的指令 Shell。
- Sh: 經典 Unix Shell(簡約風)。
初學的時候,我們會使用 Bash,因為它是標準。
2. 指令結構
在 CLI 中,指令有嚴格的格式,理解這點是成功的關鍵。
指令的基本格式
每個指令由三個部分組成:
[指令] [選項] [參數]
- 指令:你要求系統執行的操作。例如,
ls
(顯示檔案列表)。 - 選項(或標誌):修改指令的行為。例如,
-l
(詳細列表,用於ls
指令)。 - 參數:你傳遞給指令的額外資料,例如檔案或資料夾的路徑。
範例:
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
: 結束當前的會話。Tab
: 自動補完檔案或資料夾。超實用功能,記得常用。Arrow Up/Down
: 切換之前執行的命令。
小技巧:如果想感覺像是在耍帥的駭客,按下Ctrl+C
並隨意看看旁邊,是個完美的風格。
5. 簡單指令範例:開始實作!
讓我們創建一個簡單的實作任務,並用 CLI 來解決它。
任務:
- 查看當前的用戶。
- 切換到主目錄。
- 查看主目錄中的內容。
- 創建文件夾
test_folder
。 - 檢查文件夾是否創建成功。
解決方案:
# 查看當前的用戶
whoami
# 切換到主目錄
cd ~
# 查看主目錄的內容
ls
# 創建文件夾
mkdir test_folder
# 檢查文件夾是否創建成功
ls -l
步驟解釋:
- 使用指令
whoami
確認我們作為哪個用戶操作。 - 通過
cd ~
切換到主目錄。符號~
總是指向當前用戶的主文件夾。 - 指令
ls
在創建文件夾之前以及之後,顯示目錄內容。
6. 常見的錯誤以及如何避免
使用命令列時,特別是剛開始學習時,總是會碰到一些錯誤。以下是幾個常見的情況:
檔案/資料夾名稱中的空格。如果你處理包含空格的名稱,一定要用引號括起來。例如:
mkdir "My Folder"
錯誤的路徑。如果看到訊息
No such file or directory
,就代表你輸入了一個不存在的路徑。cd /unknown/path
指令的打字錯誤。終端機不容錯誤,例如輸入了
lss
而不是ls
,這是完全不同的指令(或者可能根本不存在這樣的指令)。
7. 為什麼這些很重要?
CLI 是管理任何系統的強大全能工具,用途廣泛:從配置伺服器到編寫自動化腳本。在面試中,通常會問到如何使用終端機完成一些任務,因此你現在學到的知識,將成為你技能庫中的一部分。
此外,CLI 也能幫助你掌握版本控制系統,例如 git
,開發伺服器端應用程式,或者撰寫自動化腳本。一切都從掌握基礎開始,例如指令結構、文件夾之間的切換,以及基本快捷鍵。
一些練習
試試看以下挑戰:
- 檢查當前日期。
- 建立一個名為
logs
的文件夾。 - 在其中創建一個名為
log.txt
的文件,並記錄當前日期。
解法範例
# 獲取當前日期
date
# 創建文件夾 logs
mkdir logs
# 將日期寫入 log.txt
date > logs/log.txt
# 檢查文件內容
cat logs/log.txt
現在你已經準備好進入下一個層級——操作檔案系統以及管理其內容了!
GO TO FULL VERSION