課程簡介
第一天
模組 1:為 Unix 使用者介紹 Python
主題
為什麼要使用 Python 進行腳本編寫與自動化
• Python 用於腳本的優勢
• 在系統管理與 DevOps 中使用 Python
Bash 與 Python 比較
• 變數
• 流程控制(if、迴圈)
• 檔案操作
• 執行系統命令
Python 腳本的結構
• 運行 Python 腳本
• 使用解釋器
• 命令列引數
• argparse 介紹
練習
練習 1:將簡單的 Bash 腳本轉換為 Python
Bash 腳本功能:
• 列出目錄中的檔案
• 依副檔名篩選
• 顯示統計數據
參與者將用 Python 重寫該腳本。
練習 2:帶有 CLI 引數的 Python 腳本
創建一個具備以下功能的 Python 腳本:
• 從命令列接收參數
• 處理檔案
• 顯示結構化的結果
模組 2:檔案與目錄操作
主題
在 Python 中操作檔案系統
• 讀寫檔案
• 導航目錄
• 處理路徑
使用 pathlib 模組
• 路徑管理
• 檔案操作
取代 Unix 工具:
使用 Python 實作以下功能:
• grep
• find
• sed
• awk
練習
練習 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 jobs 整合
• 為重複性任務編寫腳本
進程管理:
• 監控進程
• 簡單並行執行
練習
練習 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
機器翻譯