:::info # OS 講師:nickel 時間:8/28 10:00~12:00 課程簡報: https://docs.google.com/presentation/d/1J33p1MqdRMEVU-zdTPmdUeO_aGSRpDxca1VwB5ONYf0/edit?usp=sharing ::: ## 簡介 - OS是什麼? - OS = Operating System = 作業系統 - 是使用者和電腦間的媒介 - 負責分配資源及控制執行程式 - 環境 - 虛擬機VM : VMware - 作業系統 : Linux - 發行版 distro : Kali - Linux - 開放原始碼架構 - 類Unix (Unix-like) - 為何使用Kali - 免費、開源 - 多人共同維護、更新快速 - 有非常多工具 - 有中文 ## 基本指令 - 查詢指令用法 - 進入手冊 - man man - 查詢某個指令 (ex. ls) - man ls - 使用者 - 確認目前身分 - whoami - 切換使用者 - su - 查在線使用者有誰 - who - 檔案系統 - 樹狀結構 - 根目錄為起始點 - Linux 中所有東西皆為檔案 - 目錄結構 - / - 根目錄 - /bin - 系統必備執行檔 - /boot - 核心檔案目錄 - 開機相關檔案 - /home - 一般使用者們的家目錄 - ex: 以nisra登入,路徑會是 /home/nisra - /root - 系統管理者的家目錄 - /temp - 放暫存檔 - /var - 放變數或記錄檔 - /lib - 系統和核心函式庫 - /usr - 系統相關軟體 - /etc - 系統設定檔 - **系統管理者才能修改** - 查看目錄 - 顯示所在目錄 - pwd - 查看檔案及子目錄 - ls - 列出詳細目錄 - ls -l - 顯示隱藏目錄 - ls -a - 合用 - ls -la - 查看特定目錄 - ls -la (目錄名稱) - 路徑 - 絕對路徑 - 從根目錄"/"開始,一層層寫出檔案或目錄的**完整位置** - 不因當前的工作目錄而改變 - 相對路徑 - 從**當前的工作目錄**開始描述檔案或目錄的位置 - 短且方便 - 會因當前工作目錄而改變 - 變換目錄 - 進入目錄 - cd (目錄名稱) - cd (目錄名稱)/(子目錄名稱) - 回到上一層目錄 - cd - cd ../.. - 清理畫面 - clear ### Lab 1 在眾多目錄中找到指定檔案 - 創建/找尋檔案 - 找尋特定檔案 - find ./ -name "*(檔案名稱)*" - 創建**單一**目錄 - mkdir (目錄名稱) - 創建**多個**目錄 - mkdir (目錄名稱1) (目錄名稱2)...... - 創建**多層**目錄 - mkdir -p (目錄名稱)/(子目錄名稱) - 創建**一個**空檔案 - touch (檔案名稱) - 創建**多個**空檔案 - touch (檔案1名稱) (檔案2名稱)...... - 檔案操作 - 複製檔案 - cp (來源檔案) (目的地目錄) - 複製整個目錄 - cp -r (來源目錄) (目的地) - 重新命名檔案 - mv (原檔案名稱) (新檔案名稱) - 重新命名目錄 - mv (原目錄名稱) (新目錄名稱) - 移動檔案 - mv (檔案名稱) (目的地目錄) - 移動目錄 - mv (目錄名稱) (目的地目錄) - 刪除 - 刪除一個空目錄 - rmdir (目錄名稱) - 刪除多個空目錄 - rmdir (目錄1名稱) (目錄2名稱) ....... - 刪除檔案 - rm (檔案名稱) - 刪除多個檔案 - rm (檔案1名稱) (檔案2名稱) ...... - 刪除目錄 - rm -r (目錄名稱) - 刪除目錄下的所有檔案 - rm -rf (目錄名稱) - 依序刪除目錄下的所有檔案,且刪除前詢問是否刪除 - rm -ri (目錄名稱) - 內容 - 印出檔案內容 - cat (檔案名稱) - 過濾並印出檔案內容 - cat (檔案名稱) | grep (欲過濾的關鍵字) - 管道指令 pipe - 透過 | 連結前項指令的**輸出**與後項指令的**輸入** ### Lab 2 從檔案中過濾出需要的內容 ## 權限 - 檔案權限 - 三種身分 - u:擁有者 Owner/User - g:群組 Group - o:其他(除以上二者外的使用者) Others - 實際使用Linux時會有很多使用者,因此**群線設定十分重要** - 可用指令 ls -l 查看擁有者及群組是誰 | 權限 | 數值(十進位) | 數值(二進位) | | -------- | -------- | -------- | | r (讀) | 4 | 100 | | w (寫) | 2 | 010 | | x (執行) | 1 | 001 | - 變更權限 - 數字變更 - chmod (數值) (檔案名稱) - 每個身分個別計算 - 按照身分排序(user,group,others) - 文字變更 - chmod 身分,動作,權限 (檔案名稱) - 身分 - u:擁有者,g:群組,o:其他,a:全部(u+g+o) - 動作 - +:增加,-:移除,=:重設為... - 權限 - r:讀,w:寫,x:執行 - 轉移所有權 - chown (新擁有者) (檔案名稱) - 以root權限執行指令 - sudo (指令名稱) - 檔案執行 - ./(檔案名稱) => 執行當前目錄下的檔案 - 執行檔案時預設不包含當前目錄,以避免執行惡意檔案 - 系統安裝、更新、卸載 - 軟體套件管理軟體 apt - 安裝應用軟體 - sudo apt install (軟體名稱) - 卸載應用軟體 - sudo apt remove (軟體名稱) - 更新軟體庫 - sudo apt update - 升級系統軟體 - sudo apt upgrade ### Lab 3 更改權限後執行檔案輸出內容 ## 編輯器 - Vim - 大部分系統都有內建的編輯器 - 開啟和編輯的速度快 - 可以只用鍵盤就能完成所有的操作 - 模式 : - 一般 normal - 刪除、複製、貼上 - 編輯 insert - 輸入字元 - 可視 visual - 選擇區域highlight以進行一般模式的操作 - 指令 command-line - 儲存、離開、搜尋文本 - 移動游標 - 上 : ↑,k - 下: ↓, j - 左: ←, h - 右: →, l - 復原、回復 - 復原 - 在一般模式下按u - 快速將當前狀態輝悟道進入時的狀態:按u - 回復 (取消復原) - 在一般模式下按 ctrl + r - 編輯模式 - 輸入字元 - 不同鍵進入 - i:在游標**前**插入文字 - a:在游標**後**插入文字 - o:在下一行開新一行,並插入文字 - r:替換游標上的字元 - 可視模式 - 小v進入 : 逐字選取 - 大V進入 : 整行選取 - ctrl + v : 選取舉行區域 - 圈選並剪下、複製、貼上 - 圈選 - 按v,V,ctrl+v進入可視模式並移動游標 - 剪下 - 圈選並按**d** - 快速剪下整行 : 按**兩次**d - 複製 - 圈選並按**y** - 貼上 - 進行完剪下或複製後按**p** - 指令模式 - 以":"進入:輸入命令 - 以"/"進入:從游標位置往**下**搜尋 - 以"?"進入:從游標位置往**上**搜尋 - 儲存、離開 - 按":"並輸入命令 - 常用命令 - w:儲存 - wq:儲存並離開 - q:離開 - q!:強制離開 - 搜尋 - 按/,?並輸入想尋找的文字 - 找下一個搜尋結果 - n:**同方向**搜尋 - N:**反方向**搜尋 - 忽略大小寫搜尋 - 先輸入":set ignorecase"命令再搜尋 ### Lab 4 用 vim 更改檔案錯誤,執行得到flag --- ###### tags: `2025 NISRA Enlightened` <style> .navbar-brand::after { content: " × NISRA"; } </style>