Linux下的基本命令與gdb除錯

2021-09-16 11:56:59 字數 2096 閱讀 8328

15:linux命令:

一:系統目錄結構(檔案系統)

1.與windows相比linux是乙個多使用者的,因此強調許可權,幾個使用者幾個家目錄,

2./bin:可執行程式/命令(二進位制可執行程式)

3./boot:核心與系統啟動有關的檔案

4./home:所有普通使用者的家目錄

5./etc:系統的配置檔案

6./lib:存放庫檔案

7./proc:是乙個虛擬目錄,程序在記憶體中的映像

8./usr:存放系統執行過程中不常改變的檔案

9./var:系統執行過程中常改變的檔案

10./root:管理員的家目錄

11./dev:裝置檔案

12./mnt:臨時掛載點

13./tmp:臨時資料夾,所有使用者均可訪問

二:檔案型別

1.-:普通檔案

2.d:目錄檔案

3.l:鏈結檔案

4.p:管道檔案

5.c,b:裝置檔案

6.s:套接字檔案

三:許可權

1.讀許可權 r 4

2.寫許可權 w 2

3.執行許可權 x 1

4.無許可權 - 0

5.改變許可權:chomd,chmod u+x filename ,chmod 766 filename

6.s,t:特殊許可權

四:基本命令

1.檔案操作命令:cd,ls,pwd,ls,cp,rm,mv,less,cat,more,head,touch,mkdir,vi

重要:tail, vi/vim, find,grep,awk,sed

2.程序操作命令:(1)ps:(2)kill(3)pkill(4)jobs (5)&

3.系統監測命令:(1)top 《linux高效能伺服器程式設計》17章(2)tcpdump 抓包工具(3)netstat 網路資訊統計工具,看tcp狀態,檢視埠,檢視接收/傳送緩衝區位元組數 netstat -natp (4)lsof:顯示某個程序開啟的所有檔案 lsof -p(5)strace -p pid :跟蹤乙個程序呼叫的系統呼叫(6)ltrace -p pid 跟蹤乙個程序執行過程中呼叫的庫函式(7)vmstat:輸出系統cpu記憶體的使用情況(8)ifstat:檢視網路流量的工具(9)mpstat:檢視多個cup的使用情況

4.除錯程式命令:(gcc -o name name -g編譯之後使用gdb)gdb(1)除錯命令:l顯示**,b加斷點,r啟動,n單步執行,display 持續顯示列印資訊,p列印某個值變數或位址,c繼續執行,遇到斷點結束,f推出函式,s進入函式,bt函式呼叫棧資訊, 跟蹤子程序(《linux高效能伺服器程式設計》16章):set follow-fork-mode child (2)attch pid 除錯pid對應的程序(3)多執行緒除錯:info thread:顯示可除錯執行緒, thrad id:切換到指定執行緒,進行除錯

5.系統管理:useradd:增加使用者, userdel/passwd 刪除/改密碼 , init設定系統執行級別,shutdown -h now 關機 halt init 0 ,iptables -f:關閉防火牆,ipconfig:檢視ip位址

6.打包壓縮:(1)tar tar zxf ***.tar.gz

7.umlit -a 檢視系統資源限制, uname:檢視作業系統名字和核心版本 ,df -h 檢視磁碟各分割槽使用情況

gdb除錯:

gcc -o 檔名 檔名.c 編譯生成可執行檔案

gdb +檔名 啟動gdb除錯(gdb -q +檔名 不顯示gdb版本資訊)

l +行號 顯示第幾行 l+ 行號,行號 顯示區間**

回車表示重複上一次命令

b + 行號/函式名 在第幾行/函式入口處設定斷點

info break 檢視斷點資訊

r 執行程式

s 表示單步除錯, 遇到子函式,會進入函式內部除錯.

n 單條語句執行 next簡寫 過程除錯, 到下一步. 不管子過程如何都不進入. 直接一次跳過.

c 繼續執行程式 continue

p + 變數名 列印某個變數的值

display +變數名 顯示變數

bt 檢視函式堆疊

finish 退出函式

info threads:檢視正在執行程式的執行緒資訊

gdb基本命令

為了記憶,就打上來與大家分析,常用的gdb除錯命令 bt 檢視各級函式呼叫及引數 finish 連續執行到當前函式返回為止,然後停下來等待命令 f 選擇棧幀 i 檢視當前棧幀區域性變數的值 l 列出源 list 行號 列出從第幾行開始的源 list 函式名 列出某個函式的源 n 執行下一條語句 p ...

gdb基本命令

可以參考 命令描述backtrace 或bt 檢視各級函式呼叫及引數 finish 連續執行到當前函式返回為止,然後停下來等待命令 frame 或f 幀編號 選擇棧幀 info 或i locals 檢視當前棧幀區域性變數的值 list 或l 列出源 接著上次的位置往下列,每次列10行 list 行號...

GDB基本命令

借用阿甘老媽的一句話 life is like a box of chocolates,you never know what you re going to get.自己做夢也不會想到,多年之後又回到linux的世界中。生活中的事情有太多不確定性,但如果你準備的夠充分,再怎麼變化,也都在你的掌控之...