前言
前幾天主要學習 Linux 的路徑概念,包括 Absolute Path(絕對路徑)、Relative Path(相對路徑)、Home Directory 以及各種特殊符號。
今天開始接觸 Linux 中最常用的檔案操作指令之一 cat
雖然功能看起來很簡單,但在 Linux 系統管理、CTF 題目以及資安研究中,都經常會使用到它。
cat?cat 的名稱來自concatenate
原本的用途是將多個檔案內容串接(concatenate)在一起。
不過在日常使用中,最常見的用途其實是 讀取檔案內容
例如 cat file.txt
如果檔案內容是 Hello Hackers!
則輸出 Hello Hackers!
cat 的基本用法讀取單一檔案 cat file.txt
讀取多個檔案 cat file1.txt file2.txt
輸出 file1 的內容及file2 的內容
Linux 會依照輸入順序將內容依序顯示出來。
題目 cat: not the pet, but the comand!
這次 Challenge 說明 I will copy the flag to the flag file in your home directory.
也就是說系統已經將 Flag 複製到 /home/hacker/flag
而目前 Shell 啟動時的位置就是 /home/hacker
因此只需要使用 cat 讀取 flag
即可取得 Flag。
首先確認目前位置 pwd
如果輸出 /home/hacker
接著可以查看目前目錄 ls
可以看到 flag
然後使用 cat flag
成功讀取檔案內容並取得 Flag。
由於目前位置已經是 /home/hacker
因此 cat flag
實際上等同於 cat /home/hacker/flag
因為 Linux 會從目前工作目錄開始尋找檔案。
這也是 Relative Path(相對路徑)的實際應用。
今天第一次接觸 Linux 的檔案讀取指令 cat。
雖然只是簡單地顯示檔案內容,但實際操作後發現它在 Linux 中的重要性非常高。
在許多 CTF 題目中,取得 Flag 後最常見的操作之一就是使用 cat 讀取檔案內容。
此外,系統設定檔、日誌檔以及程式輸出結果,也經常透過 cat 進行查看。
因此這個指令雖然簡單,卻是 Linux 使用者幾乎每天都會接觸到的工具。