【筆記】Linux 指令

Linux 指令

base64 – 加密/解密

可配合回傳來解 base64 過的字串

選項

  • -d:解密(Decode)
  • -e:加密(Encode)
1
echo "cGljb0NURntNRTc0RDQ3QV9ISUREM05fZDhjMzgxZmR9Cg==" | base64 -d
1
picoCTF{ME74D47A_HIDD3N_d8c381fd}

binwalk – 分析檔案

bvi

輸入 :q 退出 bvi

cat – 串接或輸出檔案內容

1
cat [選項] <file>

選項

  • -n:編號行數
  • -E:行尾輸出錢字號

chmod – 控制使用者對檔案的權限

權限數字

1
rwxrwxr-x

以三個三個為一組,每個字代表二進制,並相加就是數字了

rwx, rwx, r-x

4+2+1, 4+2+1, 4+0+1

代表著 775

cp – 複製目錄/複製檔案

curl – 用來分析網頁行為及研究跳轉和參數等等

1
curl [選項] <URL>

選項

  • -I:僅查看 Header 內容

exiftool

Linux 的 ExifTool 是一個功能強大的命令列工具,用於 讀取、寫入和編輯圖像和音訊檔案中的元數據。它支援非常廣泛的檔案格式,包括:

  • 圖像格式:JPEG、TIFF、PNG、GIF、BMP、PSD、RAW 等
  • 音訊格式:MP3、WAV、FLAC、M4A、OGG 等
  • 其他格式:PDF、HTML、Word 文檔、Excel 文件等
1
exiftool <file>

範例輸出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ExifTool Version Number         : 12.40
File Name : ukn_reality.jpg
Directory : .
File Size : 2.2 MiB
File Modification Date/Time : 2024:03:12 00:05:57+00:00
File Access Date/Time : 2024:03:12 00:05:57+00:00
File Inode Change Date/Time : 2024:09:17 14:29:19+00:00
File Permissions : -rw-r--r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
JFIF Version : 1.01
Resolution Unit : inches
X Resolution : 72
Y Resolution : 72
XMP Toolkit : Image::ExifTool 11.88
Attribution URL : cGljb0NURntNRTc0RDQ3QV9ISUREM05fZDhjMzgxZmR9Cg==
Image Width : 4308
Image Height : 2875
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:0 (2 2)
Image Size : 4308x2875
Megapixels : 12.4

file

find – 找檔案、目錄、名稱、天數

find找檔案、目錄、名稱、天數…參考

選項

  • -mtime : 搜尋檔案的修改時間(天)
  • -mmin : 搜尋檔案的修改時間(分鐘)
  • -ctime : 搜尋檔案的建立時間(天)
  • -cmin : 搜尋檔案的建立時間(分鐘)
  • -atime : 搜尋檔案的最後開啟時間(天)
  • -amin : 搜尋檔案的最後開啟時間(分鐘)
  • -size : 搜尋檔案的大小
  • -name : 搜尋檔案名稱(有分大小寫)
  • -iname : 搜尋檔案名稱(不分大小寫)
  • -type f : 只搜尋“檔案”
  • -type d : 只搜尋“目錄”
  • -exec <cmd> {} \; : 把搜尋結果導向指令來執行
  • -user : 搜尋特定使用者的檔案或目錄
  • -o : 邏輯運算為「或」的意思
  • -print : 將結果印出於螢幕

配合 grep 就可以查找某個檔案裡的內容

Example:

1
find ./ | grep -rIl "picoCTF"

grep

1
grep [選項] "搜尋字串" 檔案

選項

  • -i:忽略大小寫進行搜尋。
  • -v:反向搜尋,顯示不包含字串的行。
  • -r:遞迴搜尋目錄中的所有文件。
  • -n:顯示匹配行的行號。
  • -l:只顯示包含匹配字串的文件名稱。
  • -C [數字]:顯示上下文,包含匹配行之前和之後的數行。

ln

man

mkdir – 建立目錄

1
mkdir <folder_name>

mv

nc(Netcat)指令

rm – 刪除檔案

刪除該目錄下的所有檔案

1
rm -r *

rmdir – 刪除目錄

screen

進入 screen shell

1
screen

刪除 screen

1
screen -S "ID/名稱" -X quit

卸離目前 screen

ctrl + a + d

stat – 檔案資訊

strings

主要用來從二進制文件或非純文字檔案中提取出可讀的文字 [name=ChatGPT]

1
strings <file_name>

可搭配 grep 指令,來尋找特定字串

1
strings <file_name> | grep "特定字串"

touch – 建立檔案

unzip – 解壓縮指令

1
unzip <.zip>

vim

  • i 進入編輯模式,在案 ESC 退出編輯模式
  • 輸入 :wq 退出 vim

wget – 從網路上檔案下載檔案到 Linux

選項

  • -n:在每一行之前加上檔案中的相對行號。
  • -r:遞迴地搜尋目錄。
  • --user-agent:修改 UA 以達到模仿瀏覽器瀏覽效果

下載整個網站(砍站)(Offline Browsing)

使用選項 --mirror 範例:

1
wget --mirror -p --convert-links -P ./my_folder http://edition.cnn.com/
  • --mirror:下載整個網站。
  • -p:自動下載顯示網頁所需要的所有相關檔案。
  • --convert-links:自動將下載網頁中的超連結,轉換為本地的連結。
  • -P ./my_folder:將下載的檔案放在 ./my_folder 目錄下。