goby自定義POC+EXP編寫
阿新 • • 發佈:2021-01-07
Linux 命令
目錄結構
- /bin 可執行二進位制檔案
- /etc 系統配置檔案
- /home 每個使用者的主目錄
- /usr 放置系統應用
- /usr/local 存放管理員安裝軟體目錄
- /proc 虛擬檔案目錄
- 你甚至可以找到正在執行的各種程序
- /dev 裝置檔案目錄
- /boot 系統引導使用的檔案
- /lib 系統引導 系統啟動時 用到的動態庫檔案
檔案型別
Linux 儲存管理
- Buddy 記憶體管理演算法 ( 努力讓記憶體分配與相鄰記憶體合併快速進行
- 基於計算機處理二進位制的優勢具有極高的效率
- 演算法主要是為了解決記憶體外碎片問題 ( 記憶體外碎片 -> 記憶體內碎片
- 核心
- 將申請記憶體大小向上取 2的冪
- 一片連續記憶體的 '夥伴(buddy)' 是相鄰的另一片大小一樣的連續記憶體
Linux 檔案系統概覽
- 常見檔案系統
- FAT ( File Allocation Table
- 微軟Dos/Win 早期使用檔案系統
- 使用一張表儲存盤塊資訊
- NTFS ( New Technology File System
- win7/win8/win10 ( win/linux 均可識別
- EXT2/3/4 ( Extented File System
- 用於 Linux ( 將一個 ext 格式的 U 盤插入 win win 將無法識別
- FAT ( File Allocation Table
- 常見分割槽方式
- GPT
- MBR
分割槽是將一個物理盤分成若干個邏輯盤 每個邏輯盤中必須具有一種檔案系統 分割槽就是將物理盤隔開,檔案系統就是將隔開的盤格式成某種型別的檔案儲存格式
Ext 檔案系統
- tips:
- Boot Sector 啟動扇區 安裝開機管理程式
- Block Gruop 塊組 儲存資料實際位置
- Inode 存放檔案的原資訊
表面上,使用者通過檔名,開啟檔案。實際上,系統內部這個過程分成三步:首先,系統找到這個檔名對應的inode號碼;其次,通過inode號碼,獲取inode資訊;最後,根據inode資訊,找到檔案資料所在的block,讀出資料
常用命令
netstat -nalp | grep 8080 ps -ef | grep java // ps 顯示當前程序狀態 ps -aux | grep java find /tmp/cg/testLinux -name "*.txt" df -T // 檢視掛載磁碟資訊 dumpe2fs /dev/vda1 | less // 檢視指定裝置 inode 資訊 stat xxx // 檢視某個檔案具體資訊
各種言語預設安裝包的搜尋路徑
以C++為例
- #include “headfile.h”優先在當前目錄查詢標頭檔案
- 先搜尋當前目錄
- 然後搜尋-I指定的目錄
- 再搜尋gcc的環境變數CPLUS_INCLUDE_PATH(C程式使用的是C_INCLUDE_PATH)
- 最後搜尋gcc的內定目錄
- /usr/include
- /usr/local/include
- /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
- #include < headfile.h >從系統預設路徑查詢標頭檔案
- 先搜尋-I指定的目錄
- 然後搜尋gcc的環境變數CPLUS_INCLUDE_PATH
- 最後搜尋gcc的內定目錄
- /usr/include
- /usr/local/include
- /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include