「緯育 2026-0330」修訂間的差異
出自頂極製作所
(建立內容為「本次課程聚焦於在 Linux 環境中使用文字編輯器管理主機的必要性與基本操作。講師指出,伺服器多半不具備圖形化使用者…」的新頁面) |
|||
| 行 72: | 行 72: | ||
** 開啟檔案:vim [檔案路徑/檔名]。 | ** 開啟檔案:vim [檔案路徑/檔名]。 | ||
[[檔案:2026-0330-04.png|800px]] | [[檔案:2026-0330-04.png|800px]] | ||
=== 基礎游標移動 (Part 1) === | |||
* 使用方向鍵與 hjkl 移動 | |||
** 可在 Vim 環境中使用上下左右方向鍵移動游標。 | |||
** hjkl 鍵是傳統的替代方案,對應關係為 h(左), j(下), k(上), l(右)。 | |||
** hjkl 的設計源於早期無獨立方向鍵的鍵盤,在現代伺服器機房等方向鍵易損壞或不存在的環境中仍非常實用。 | |||
=== 行內移動 (Part 2) === | |||
* 移動到行首與行尾 | |||
** Home / End 鍵: 直觀的行首/行尾跳轉方式。 | |||
** 0 / $ 鍵: 在一般模式下,按 0 移動到行首,$ (Shift + 4) 移動到行尾,在筆記型電腦上特別方便。 | |||
* 跳過前置空白移動到程式碼起始處 | |||
** ^ (Power/Caret) 符號: 按下 ^ (Shift + 6) 可將游標移動到該行第一個非空白字元處,適合編輯有縮排的程式碼。 | |||
=== 畫面與檔案移動 (Part 3) === | |||
* 畫面中的上、中、下快速跳轉 | |||
** H / M / L: 在一般模式下,按大寫 H (High)、M (Middle)、L (Low) 可快速移動到目前畫面的頂部、中間或底部區域。 | |||
* 文件級的快速跳轉 | |||
** gg: 連續按兩次小寫 g,跳轉至檔案最開頭。 | |||
** G: 按下大寫 G (Shift + g),跳轉至檔案最末尾。 | |||
* 翻頁操作 | |||
** PageUp / PageDown: 標準的翻頁按鍵。 | |||
** Ctrl + B (Back): 等同於 PageUp,向上翻頁。 | |||
** Ctrl + F (Forward): 等同於 PageDown,向下翻頁。 | |||
=== 內容刪除 (Part 4 & 5) === | |||
* 字元刪除 | |||
** x: 刪除游標當前字元 (同 Delete)。 | |||
** X (大寫): 刪除游標前一個字元 (同 Backspace)。 | |||
** 數字組合: 可在指令前加數字重複執行,如 3x 表示刪除 3 個字元。 | |||
* 進階刪除指令 | |||
** dw (delete word): 刪除一個單詞。可搭配數字,如 3dw 刪除 3 個單詞。 | |||
** dd (delete line): 刪除一整行,非常常用。可搭配數字,如 3dd 刪除 3 行。 | |||
* 復原與重複操作 | |||
** u (undo): 復原上一步操作。 | |||
** Ctrl + R (redo): 重做(取消復原)上一步操作。 | |||
** . (repeat): 重複上一次執行的指令。 | |||
=== 複製與貼上操作 === | |||
* 複製指令 (Yank) | |||
** yl: 複製單一字元。 | |||
** yw: 複製一個字詞 (word)。 | |||
** yy: 複製游標所在的整行。 | |||
** 數字組合: 以上指令皆可搭配數字前綴進行多次複製,如 5yl (5個字元)、2yw (2個字詞)、10yy (10行)。 | |||
* 貼上指令 (Paste) | |||
** p (小寫): 將複製的內容貼在游標位置的「後面」。 | |||
** P (大寫): 將複製的內容貼在游標位置的「前面」。 | |||
=== 插入模式 (Insert Mode) === | |||
* 進入插入模式的指令 | |||
** i (insert): 在游標「之前」開始插入。 | |||
** I (Insert): 在該行「最前端」開始插入。 | |||
** a (append): 在游標「之後」開始插入。 | |||
** A (Append): 在該行「最末端」開始插入。 | |||
** o (open line): 在游標所在行的「下方」新增一空行並開始插入。 | |||
** O (Open line): 在游標所在行的「上方」新增一空行並開始插入。 | |||
* 退出插入模式: 按 ESC 鍵回到一般模式。 | |||
=== 取代模式 (Replace Mode) === | |||
* 取代指令 (Replace): 與插入模式不同,此模式會覆蓋原有字元。 | |||
** r (replace): 取代游標所在的「單一」字元,執行後立即返回一般模式。 | |||
** R (Replace): 進入「連續」取代模式,可連續輸入文字覆蓋原有內容,直到按 ESC 退出。 | |||
=== 搜尋功能 === | |||
* 執行搜尋: 在一般模式下,輸入 / 進入搜尋狀態,接著輸入關鍵字後按 Enter。 | |||
* 在搜尋結果中導航 | |||
** n (next): 跳至下一個匹配的結果。 | |||
** N (Next): 跳至上一個匹配的結果。 | |||
=== 命令模式 (Command Mode) === | |||
* 進入與操作: 在一般模式下按冒號 : 進入命令模式,可在畫面左下角輸入指令。 | |||
* 檔案操作 | |||
** :e 檔名: 在 Vim 內部編輯另一個檔案。 | |||
** :r 檔名: 將指定檔案的內容讀取並插入到目前游標下方。 | |||
* 存檔與離開 | |||
** :w: 存檔。 | |||
** :w 檔名: 另存新檔。 | |||
** :w!: 強制存檔。 | |||
** :q: 離開 (若有未存檔變更會失敗)。 | |||
** :q!: 強制離開不存檔。 | |||
** :wq 或 :x: 存檔並離開。 | |||
** :wq!: 強制存檔並離開。 | |||
* 環境設定 (:set) | |||
** 行號: :set nu (顯示), :set nonu (取消)。 | |||
** Tab 寬度: :set ts=4 (設定 Tab 為 4 個空格寬)。 | |||
** 搜尋高亮: :set hls (開啟), :set nohlsearch (關閉)。 | |||
** 游標行標示: :set cursorline (開啟底線標示)。 | |||
=== Vim 個人化永久設定 (.vimrc 檔案) === | |||
* 目的: 為了讓 set 指令等個人化設定永久生效,避免每次開啟 vim 都要重新設定。 | |||
* 位置與原理: 在個人家目錄 (~/) 下建立一個名為 .vimrc 的隱藏檔案。vim 每次啟動時都會自動讀取並執行此檔案中的指令。 | |||
* 建立與編輯: 使用 vim ~/.vimrc 建立檔案,並將常用指令(如 set number, set tabstop=4)逐行寫入後儲存即可。 | |||
[[檔案:2026-0330-05.png|800px]] | |||
於 2026年3月30日 (一) 04:53 的修訂
本次課程聚焦於在 Linux 環境中使用文字編輯器管理主機的必要性與基本操作。講師指出,伺服器多半不具備圖形化使用者介面 (GUI),因此熟悉文字編輯器是管理 Linux 主機的核心技能。課程介紹兩款主流編輯器:Nano 與 Vim。對於 Nano,講師說明其易學易用的特性,並示範進入、退出、開啟檔案、儲存與另存新檔等基本操作。針對功能更強大的 Vim,講師重點解釋其核心概念——四種模式(一般模式、編輯模式、命令列模式、區塊模式)及切換方式,並示範基本進入與強制退出操作。此外,課程也提及 Linux 系統管理的常見流程,包括檔案比對、修改網路設定檔以設定固定 IP,以及未來如何透過編輯組態檔管理各種系統服務。
Linux 系統管理基礎
- 檔案內容比對
- 說明:需確認設定檔是否被修改時,應以工具比對兩個檔案(如備份檔與當前執行檔)的差異。
- 工具:不建議以人工逐行比對大量設定檔,應使用專門的比較工具。
- 網路組態設定
- 目的:伺服器需固定 IP 以保障服務穩定,因此需將預設的動態 IP 改為固定 IP。
- 方法:修改網路管理套件的組態檔(配置檔)。
- 系統差異:不同 Linux 發行版(如 CentOS、Ubuntu)偏好不同的網路管理套件與指令工具,設定方式亦不同。
- 以指令修改網路的缺點
- 說明:直接以指令修改網路設定通常僅具暫時效果。
- 問題:主機重新啟動後設定會消失,需重設;根本解法是修改組態檔。
- Linux 服務與組態檔
- 核心概念:在 Linux 中,多數功能或服務由一個或多個文字檔控制,稱為「組態檔」(配置檔)。
- 修改方式:調整系統設定(如登入限制、主機名稱、網路掛載、網路組態、系統排程、遠端分享、防火牆規則等)最快方式是用文字編輯器直接修改對應組態檔。
- 優點:簡單、快速。
- 缺點:需學會編輯器的操作並記住指令與檔案位置。
- Linux 管理工作流程
- 流程:
1. 依客戶需求比對並選擇合適軟體(如 Web 伺服器:Apache、Nginx 等)。 2. 安裝所選軟體。 3. 使用文字編輯器(如 Nano、Vim)開啟並編輯其組態檔。 4. 參考官方文件,定位需修改的設定行並進行變更(如將 Web 伺服器 Buffer 由 64MB 改為 128MB)。 5. 儲存檔案並重新啟動服務。 6. 若服務有漏洞 (bug),需關注官方更新並及時升級。
文字編輯器 (Text Editor)
- 學習文字編輯器的必要性
- 原因:多數 Linux 伺服器(尤其雲端虛擬主機)僅提供文字終端連線,不提供 GUI。
- 結論:因此必須熟悉文字編輯器;建議至少掌握一至兩套以備不時之需。
- Nano 編輯器
- 定位:操作單純、易學的文字編輯器。
- 歷史:前身為 TIP (TIP Is not Pico),為自由軟體專案;後加入 GNU 專案並更名為 Nano。
- 介面:主要指令提示顯示於畫面最下方,並隨狀態變化。
- 基本操作:
- 進入/退出:輸入 nano 進入;按 Ctrl + X 退出。若檔案有修改,退出時會提示是否儲存。
- 開啟檔案:nano [檔案路徑/檔名]。
- 儲存檔案 (WriteOut):按 Ctrl + O。輸入相同檔名為覆蓋儲存;輸入不同檔名即「另存新檔」。
- 搜尋 (WhereIs):按 Ctrl + W。
- 游標位置資訊:按 Ctrl + C 顯示目前行列位置。
- 說明 (Help):按 Ctrl + G 顯示更多快速鍵說明。
- Vim 編輯器
- 定位:功能強大、廣泛使用但較複雜的編輯器。作者曾言:「文字編輯器只有兩種,一種叫 Vim,一種叫其他」。
- 歷史:前身為 vi,而 vi 源自 UNIX 的 ex 編輯器;Vim 為眾多 vi 衍生版本中最流行者。
- 特點:
- 介面極簡,僅底部一行顯示訊息,無快速鍵提示。
- 支援分割視窗,可同畫面開啟多個檔案。
- 支援多次復原 (undo) 與重做 (redo)。
- 內建超過 400 種程式語言語法高亮。
- 支援中斷復原,可在意外關閉後還原未儲存內容。
- Windows 上有 GUI 版本 gVim。
- Vim 的模式 (Modes)
- 核心概念:Vim 操作以模式為基礎,使用者需明確了解當前模式;若不確定,可按 ESC 回到「一般模式」。所有模式切換皆經由一般模式。
- 1. 一般模式 (Normal Mode):
- 進入方式:啟動 Vim 或按 ESC 即進入。
- 功能:用於瀏覽內容(上下左右、PageUp/PageDown)與執行指令(如刪除、複製);在此模式下每個按鍵對應功能,不可隨意亂按。
- 2. 編輯模式 (Insert Mode):
- 進入方式:在一般模式下按 i, a, o 等(常見六種方式)。
- 功能:輸入與編輯文字內容。
- 3. 命令列模式 (Command-line Mode):
- 進入方式:在一般模式下按冒號 : 或斜線 /。
- 功能:
- : 可執行存檔 (w)、退出 (q) 等命令。
- / 可進行文字搜尋。
- 4. 區塊模式 (Visual Mode):
- 進入方式:在一般模式下按 v 或 Ctrl+v。
- 功能:框選文字區域以進行複製、剪下等操作,較少使用。
- Vim 基本操作:
- 進入/退出:輸入 vim 進入。
- 正常退出:在一般模式下輸入 :q (或 :quit)。
- 強制退出(不儲存):若檔案已修改,輸入 :q! 強制退出。
- 開啟檔案:vim [檔案路徑/檔名]。
基礎游標移動 (Part 1)
- 使用方向鍵與 hjkl 移動
- 可在 Vim 環境中使用上下左右方向鍵移動游標。
- hjkl 鍵是傳統的替代方案,對應關係為 h(左), j(下), k(上), l(右)。
- hjkl 的設計源於早期無獨立方向鍵的鍵盤,在現代伺服器機房等方向鍵易損壞或不存在的環境中仍非常實用。
行內移動 (Part 2)
- 移動到行首與行尾
- Home / End 鍵: 直觀的行首/行尾跳轉方式。
- 0 / $ 鍵: 在一般模式下,按 0 移動到行首,$ (Shift + 4) 移動到行尾,在筆記型電腦上特別方便。
- 跳過前置空白移動到程式碼起始處
- ^ (Power/Caret) 符號: 按下 ^ (Shift + 6) 可將游標移動到該行第一個非空白字元處,適合編輯有縮排的程式碼。
畫面與檔案移動 (Part 3)
- 畫面中的上、中、下快速跳轉
- H / M / L: 在一般模式下,按大寫 H (High)、M (Middle)、L (Low) 可快速移動到目前畫面的頂部、中間或底部區域。
- 文件級的快速跳轉
- gg: 連續按兩次小寫 g,跳轉至檔案最開頭。
- G: 按下大寫 G (Shift + g),跳轉至檔案最末尾。
- 翻頁操作
- PageUp / PageDown: 標準的翻頁按鍵。
- Ctrl + B (Back): 等同於 PageUp,向上翻頁。
- Ctrl + F (Forward): 等同於 PageDown,向下翻頁。
內容刪除 (Part 4 & 5)
- 字元刪除
- x: 刪除游標當前字元 (同 Delete)。
- X (大寫): 刪除游標前一個字元 (同 Backspace)。
- 數字組合: 可在指令前加數字重複執行,如 3x 表示刪除 3 個字元。
- 進階刪除指令
- dw (delete word): 刪除一個單詞。可搭配數字,如 3dw 刪除 3 個單詞。
- dd (delete line): 刪除一整行,非常常用。可搭配數字,如 3dd 刪除 3 行。
- 復原與重複操作
- u (undo): 復原上一步操作。
- Ctrl + R (redo): 重做(取消復原)上一步操作。
- . (repeat): 重複上一次執行的指令。
複製與貼上操作
- 複製指令 (Yank)
- yl: 複製單一字元。
- yw: 複製一個字詞 (word)。
- yy: 複製游標所在的整行。
- 數字組合: 以上指令皆可搭配數字前綴進行多次複製,如 5yl (5個字元)、2yw (2個字詞)、10yy (10行)。
- 貼上指令 (Paste)
- p (小寫): 將複製的內容貼在游標位置的「後面」。
- P (大寫): 將複製的內容貼在游標位置的「前面」。
插入模式 (Insert Mode)
- 進入插入模式的指令
- i (insert): 在游標「之前」開始插入。
- I (Insert): 在該行「最前端」開始插入。
- a (append): 在游標「之後」開始插入。
- A (Append): 在該行「最末端」開始插入。
- o (open line): 在游標所在行的「下方」新增一空行並開始插入。
- O (Open line): 在游標所在行的「上方」新增一空行並開始插入。
- 退出插入模式: 按 ESC 鍵回到一般模式。
取代模式 (Replace Mode)
- 取代指令 (Replace): 與插入模式不同,此模式會覆蓋原有字元。
- r (replace): 取代游標所在的「單一」字元,執行後立即返回一般模式。
- R (Replace): 進入「連續」取代模式,可連續輸入文字覆蓋原有內容,直到按 ESC 退出。
搜尋功能
- 執行搜尋: 在一般模式下,輸入 / 進入搜尋狀態,接著輸入關鍵字後按 Enter。
- 在搜尋結果中導航
- n (next): 跳至下一個匹配的結果。
- N (Next): 跳至上一個匹配的結果。
命令模式 (Command Mode)
- 進入與操作: 在一般模式下按冒號 : 進入命令模式,可在畫面左下角輸入指令。
- 檔案操作
- :e 檔名: 在 Vim 內部編輯另一個檔案。
- :r 檔名: 將指定檔案的內容讀取並插入到目前游標下方。
- 存檔與離開
- :w: 存檔。
- :w 檔名: 另存新檔。
- :w!: 強制存檔。
- :q: 離開 (若有未存檔變更會失敗)。
- :q!: 強制離開不存檔。
- :wq 或 :x: 存檔並離開。
- :wq!: 強制存檔並離開。
- 環境設定 (:set)
- 行號: :set nu (顯示), :set nonu (取消)。
- Tab 寬度: :set ts=4 (設定 Tab 為 4 個空格寬)。
- 搜尋高亮: :set hls (開啟), :set nohlsearch (關閉)。
- 游標行標示: :set cursorline (開啟底線標示)。
Vim 個人化永久設定 (.vimrc 檔案)
- 目的: 為了讓 set 指令等個人化設定永久生效,避免每次開啟 vim 都要重新設定。
- 位置與原理: 在個人家目錄 (~/) 下建立一個名為 .vimrc 的隱藏檔案。vim 每次啟動時都會自動讀取並執行此檔案中的指令。
- 建立與編輯: 使用 vim ~/.vimrc 建立檔案,並將常用指令(如 set number, set tabstop=4)逐行寫入後儲存即可。