課程簡介
第一天
模組1:為Unix使用者介紹Python
主題
為何使用Python進行腳本編寫與自動化
• Python用於腳本編寫的優勢
• Python在系統管理和DevOps中的應用
Bash vs Python比較
• 變數
• 控制流程(條件、迴圈)
• 檔案操作
• 執行系統命令
Python腳本結構
• 執行Python腳本
• 使用解譯器
• 命令列參數
• argparse介紹
練習
練習1 – 將簡單的Bash腳本轉換為Python
Bash腳本功能:
• 列出目錄中的檔案
• 依副檔名篩選
• 顯示統計數據
學員將使用Python重新編寫此腳本。
練習2 – 帶有CLI參數的Python腳本
建立具備以下功能的Python腳本:
• 接收來自命令列的參數
• 處理檔案
• 顯示結構化結果
模組2:檔案與目錄操作
主題
在Python中操作檔案系統
• 讀取和寫入檔案
• 瀏覽目錄
• 路徑處理
使用pathlib模組
• 路徑管理
• 檔案操作
取代Unix工具
• grep
• find
• sed
• awk
改為使用Python實現
練習
練習1 – 檔案系統掃描
Python腳本功能:
• 搜尋大型檔案
• 識別舊檔
• 產生報告
練習2 – 處理設定檔
Python腳本功能:
• 讀取文字檔案
• 提取相關資訊
• 產生統計數據
第二天
模組3:日誌處理與文字操作
主題
在Python中處理文字
• 字串操作
• 篩選與轉換資料
正則表達式(regex)
• 模式識別
• 日誌解析
取代Shell流程管線
範例:
grep | awk | sed | sort
在Python中實現
練習
練習1 – 日誌檔案分析
Python腳本功能:
• 讀取系統日誌
• 識別錯誤
• 計算錯誤頻率
練習2 – 將Shell流程管線轉換為Python
將複雜的Bash流程管線轉換為Python腳本
模組4:自動化系統命令
主題
從Python執行Shell命令
• subprocess模組
• 捕獲輸出
• 錯誤處理
自動化管理任務
• 執行系統命令
• 與cron工作整合
• 為重複性任務編寫腳本
流程管理
• 監控流程
• 簡單的平行執行
練習
練習1 – 執行系統命令的Python腳本
腳本功能:
• 執行Unix命令
• 捕獲輸出
• 產生報告
練習2 – 服務監控
Python腳本功能:
• 檢查服務狀態
• 蒐集資訊
• 顯示結果
第三天
模組5:進階自動化與外部服務互動
主題
在Python中操作API
• HTTP請求介紹
• 驗證與權杖(tokens)
• 處理JSON回應
Python用於DevOps自動化
• 從外部服務蒐集資料
• 與現有工具整合
• 基礎設施腳本編寫
練習
練習1 – 呼叫API的Python腳本
腳本功能:
• 從API蒐集資料
• 處理資訊
• 產生報告
練習2 – 自動化資料蒐集
Python腳本功能:
• 蒐集系統資訊
• 產生JSON或CSV報告
模組6:建構用於管理的CLI工具
主題
結構化Python專案
• 程式碼組織
• 函數重用
• 模組與套件
建立CLI工具
• 命令列參數
• 結構化輸出
• 錯誤處理
最終練習
學員將使用Python建構一個自動化CLI工具,該工具:
• 分析日誌檔案
• 識別錯誤
• 產生統計數據
• 可從命令列執行
課程成果
課程結束時,學員將能夠:
• 將Shell腳本轉換為Python腳本
• 使用Python自動化系統任務
• 處理日誌和複雜資料
• 建構用於Unix系統管理的CLI工具
最低要求
先決條件
- 具備Unix/Linux作業系統的基礎知識
- 熟悉命令列操作(Shell/Bash)
- 有編寫簡單Shell腳本的經驗(例如:迴圈、條件判斷、檔案操作)
- 對系統管理概念的廣泛理解將有所助益
- 無需Python先備經驗
目標受眾
- 於Unix/Linux環境中工作的系統管理員
- 尋求提升自動化能力的DevOps工程師
- 使用Shell腳本處理日常任務的工程師與技術專家
- 有興趣從Bash過渡至Python的IT專業人員
- 在Unix環境中工作,希望更有效率地自動化工作流程的開發者
客戶評論 (2)
一切都很完美
Florin Vrincianu
課程 - Python Programming Fundamentals
機器翻譯
與內容相關的實踐練習確實有助於更好地理解每個主題。此外,以講座開始課程並繼續進行實踐練習的方式很好,有助於將練習與之前介紹的講座內容聯繫起來。
Nazeera Mohamad - Ministry of Science, Technology and Innovation
課程 - Introduction to Data Science and AI using Python
機器翻譯