iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
Security

【Google資安證書課程重點整理】系列 第 15

【Google資安證書重點整理】Day 15_資安相關指令_進階教學

  • 分享至 

  • xImage
  •  

導讀

於上一篇google講師先安排了基本的linux指令教學,透過基本指令的教學由APT安裝和管理網路安全工具Suricata和tcpdump先初步讓讀者熟悉非圖形的操作介面,然而本篇將課程中會用到的進階指令都整理出來。

https://ithelp.ithome.com.tw/upload/images/20240916/20026585NhddYip9me.png

進階資安常用指令介紹

**核心概念 **
檔案系統: Linux 系統用於組織資料的層次結構,類似於一棵樹。
根目錄: 檔案系統的起始點,用 / 表示。
目錄: 用於組織文件的容器。
檔案: 儲存資料的單位。
路徑: 用於定位檔案或目錄的位置。

**主要命令 **
pwd: 顯示當前工作目錄。
ls: 列出當前目錄下的檔案和目錄。
cd: 切換工作目錄。
cat: 顯示整個文件的內容。
head: 顯示文件的前幾行。

**學習重點 **
檔案系統的樹形結構: 理解根目錄、子目錄和檔案之間的關係。
基本導航命令: 掌握 pwd, ls, cd 的用法。
查看文件內容: 了解 cat 和 head 命令的作用。

https://ithelp.ithome.com.tw/upload/images/20240916/200265852y1VJ0L6Ru.png

切換到 Linux 並讀取檔案內容

在本文中,您將回顧如何在 Bash 中使用 Linux 命令導航檔案系統。您將進一步探索 Linux 檔案系統層次結構標準的組織,查看用於導航和讀取檔案內容的幾個常見 Linux 命令,並學習一些新命令。

檔案系統層次結構標準 (FHS)

之前,您了解到檔案系統層次結構標準(FHS)是 Linux 中組織資料的元件。 FHS 很重要,因為它定義了目錄、目錄內容和其他儲存在作業系統中的組織方式。

下圖說明了 FHS 下的關係層次結構:
https://ithelp.ithome.com.tw/upload/images/20240916/20026585BlMYPdxows.png

流程圖從頂部的根目錄開始,然後分支到多個子目錄。

在 FHS 下,文件的位置可以透過文件路徑來描述。文件路徑是檔案或目錄的位置。在檔案路徑中,層次結構的不同層級由正斜線 ( / )分隔。

pwd:顯示當前工作目錄

功能:

  • 打印出使用者目前所在的工作目錄的絕對路徑。
    絕對路徑:
  • 從根目錄開始,完整描述檔案或目錄在檔案系統中的位置。
    常用情境:
  • 確定當前位置時。
  • 在腳本中獲取當前路徑。
    範例:
pwd

ls 列出當前目錄下的檔案和目錄

功能:

  • 列出指定目錄下的檔案和子目錄。
  • 可以搭配各種選項,顯示更詳細的資訊。
    常用選項:
  • -l: 以長格式顯示,包括權限、擁有者、大小等資訊。
  • -a: 顯示所有檔案,包括隱藏檔案(以 . 開頭)。
  • -d: 僅顯示目錄。
  • -r: 反向排序。
    範例:
ls -l
ls -a
ls -d

cd:切換工作目錄

功能:

  • 將當前工作目錄變更為指定的目錄。

常用用法:

  • cd 目錄名稱: 切換到指定目錄。
  • cd ..: 返回上一層目錄。
  • cd ~: 切換到主目錄。

範例:

cd Documents

cat:顯示整個文件的內容

功能:

  • 將文件內容輸出到終端。
  • 可以連接多個文件。

常用選項:

  • -n: 顯示行號。

範例:

cat readme.txt

head:顯示文件的前幾行

功能:

顯示文件開頭的幾行。
常用選項:

-n number: 顯示前 number 行。
範例:

head -n 5 log.txt  # 顯示 log.txt 的前 5 行

cp:複製文件

功能:

將指定文件進行複製。
範例:

cp file1.txt file2.txt  # 將 file1.txt 複製到 file2.txt

mv:移動文件

功能:

將指定文件移動到目標目錄。

mv file1.txt new_folder/  # 將 file1.txt 移動到 new_folder 目錄下

rm:刪除文件

功能:

刪除指定文件。
範例:

rm file.txt  # 刪除 file.txt 檔案

以下是課程教材當中實際上線操作的基本語法範例。

任務1:取得目前目錄資訊

問題:

顯示您的工作目錄。目前工作目錄包含多少個目錄?

解答:

  1. 開啟終端機: 首先,你需要開啟一個終端機視窗。

  2. 輸入 pwd 命令: 這個命令會顯示你目前所在目錄的完整路徑。

    pwd
    

    示例輸出:

    /home/user/documents
    
  3. 輸入 ls 命令: 列出當前目錄下的所有檔案和目錄。

    ls -l
    
  4. 數目目錄數量: 根據 ls -l 的輸出,統計目錄的數量。

答案示例:

  • 目前工作目錄:/home/analyst/logs
  • 目錄數量:4

任務2:更改目錄並列出子目錄

問題:

路徑切換到 /home/analyst/reports 目錄,並列出該目錄下的子目錄。

解答:

  1. 切換目錄

    cd /home/analyst/reports
    
  2. 列出子目錄

    ls
    

答案示例:

假設 /home/analyst/reports 目錄下有 projectsdocumentsold_reports 三個子目錄。


任務3:尋找並讀取文件的內容

問題:

路徑切換到 /home/analyst/reports/users 目錄,讀取 Q1_added_users.txt 文件,並回答相關問題。

解答:

  1. 切換目錄

    cd /home/analyst/reports/users
    
  2. 查看文件內容

    cat Q1_added_users.txt
    
  3. 根據文件內容回答問題: 仔細閱讀文件中的資訊。


任務4:路徑切換到目錄並找到文件

問題:

路徑切換到 /home/analyst/logs 目錄,查看 server_logs.txt 文件的前 10 行,並統計警告訊息的數量。

解答:

  1. 切換目錄

    cd /home/analyst/logs
    
  2. 查看文件前 10 行

    head -n 10 server_logs.txt
    
  3. 統計警告訊息
    手動逐行查看,或使用 grep 命令查找包含 "警告" 的行。

    grep -c '警告' server_logs.txt
    

找Log時會用到的指令

grep 命令範例:

  1. 尋找包含特定字串的行

    grep "error" log.txt
    
  2. 忽略大小寫搜索

    grep -i "warning" messages.log
    
  3. 顯示行號

    grep -n "password" config.ini
    
  4. 列出所有 .txt 結尾的檔案,並顯示包含 "data" 的行

    ls *.txt | grep "data"
    
  5. 計算一個目錄下所有 .log 文件中 "error" 出現的總次數

    grep -c "error" *.log
    
  6. 查找所有以 "user_" 開頭,並且包含 "admin" 的檔案

    find . -name "user_*" | xargs grep "admin"
    

任務1:在日誌檔案中搜尋錯誤訊息

  1. 切換到 /home/analyst/logs 目錄。
  2. 使用 grep error server_logs.txt 命令搜索包含 "error" 的行。

任務2:尋找包含特定字串的文件

  1. 切換到 /home/analyst/reports/users 目錄。
  2. 使用 ls | grep "Q1" 命令列出名稱中包含 "Q1" 的文件。

任務3:搜尋更多文件內容

  1. 切換到 /home/analyst/reports/users 目錄。
  2. 使用 grep 命令在 Q2_deleted_users.txtQ4_added_users.txt 文件中搜索使用者名稱和部門資訊。

任務4:grep 命令範例

  1. 尋找包含特定字串的行

    grep "error" log.txt
    
  2. 忽略大小寫搜索

    grep -i "warning" messages.log
    
  3. 顯示行號

    grep -n "password" config.ini
    

任務5:結合管道,實現更複雜的搜索

  1. 列出所有 .txt 文件中包含 "data" 的行

    ls *.txt | grep "data"
    
  2. 計算所有 .log 文件中 "error" 的總數量

    grep -c "error" *.log
    

任務6:結合 findxargs,在多個文件中搜索

  1. 查找所有以 "user_" 開頭,並且包含 "admin" 的檔案

    find . -name "user_*" | xargs grep "admin"
    

其他命令

mkdir 指令

  • 步驟
    mkdir network
    

rmdir 指令

  • 步驟
    rmdir network
    

touch 指令

  • 步驟
    touch requests.txt
    

rm 指令

  • 步驟
    rm requests.txt
    

mv 指令

  • 步驟
    mv requests.txt /home/analyst/logs
    mv requests.txt newname.txt
    

cp 指令

  • 步驟
    cp requests.txt /home/analyst/logs
    

nano 文字編輯器

  • 步驟
    nano requests.txt
    
    • 儲存:Ctrl + O
    • 退出:Ctrl + X

上一篇
【Google資安證書重點整理】Day 14_Linux 資安相關指令_基礎教學
下一篇
【Google資安證書重點整理】Day 16_SQL資安相關指令_基礎教學
系列文
【Google資安證書課程重點整理】30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言