Linux Linux 常用工具

2021-09-27 06:30:53 字數 3561 閱讀 8410

目錄

yum: 軟體包管理工具

vimgcc/g++編譯器

linux偵錯程式gdb

make/makefile :專案自動化構建工具(重點)

git:專案版本管理工具(git精華:分支管理)

檢視軟體包: yum list     

檢視具體安裝包  yum list | grep pack_name

檢查linux是否聯網: ping **

安裝軟體包: yum install pack_name      eg: yum install gcc

移除軟體包: yum  remove pack_name

vim沒有滑鼠,為了完成插入刪除,複製等操作因此分為了許多模式(12種)

常用三種模式: 命令列模式(底行模式),插入模式, 普通模式

熟悉三種模式切換(vim filename->開啟檔案,不存在就進行建立)

普通模式->插入模式:

插入模式->普通模式:  esc

普通模式->底行模式::     /    ?

底行模式下的操作       :w  (儲存)      :q(儲存)    :q!(強制退出)  :q(退出)    //儲存退出操作     /string          ?string   字串查詢

底行模式->普通模式:esc

普通模式下的操作:

解釋程式不需要進行編譯,可以直接執行 如 python,shell語言

gcc將高階語言(c語言)編譯成機器可以識別的語言

gcc預設鏈結方式是動態鏈結

gcc常用選項:

-e 只進行預處理    -s只進行編譯     -c只進行彙編    -o 用於指定生成檔名稱      -static使用靜態鏈結

格式 : gcc [選項] 要編譯的檔案 [選項] [目標檔案]

例項:  gcc –e hello.c –o hello.i    

gcc –s hello.i –o hello.s

gcc –c hello.s –o hello.o

gcc -o hello.o -o hello 

功能:除錯程式執行過程-----除錯bug---分析程式的錯誤原因.及錯誤位置

gdb引導程式的 時候,如果有程式執行引數,不能載入的時候給與應該開始除錯的時候給與

gdb ./main->  run -l -a

0.向程式中假如除錯符號資訊(程式除錯的前提)

gcc預設生成release發布版本程式,可執行程式中沒有加入除錯符號資訊,無法實現逐步除錯

gcc -g   生成debug版可執行程式

1.引導程式

gdb  ./main

2.開始除錯

run :     直接執行程式     start:    開始逐步除錯

3.常見操作

list  檢視**       格式: list  file: line 

n  :下一步,不跟蹤進入函式,直接將函式執行完畢     s: 下一步,跟蹤進入函式

until 直接執行到指定行  格式: until file:line

4.斷點相關操作(重點)

break file:line  打斷點      break function_name 給函式打斷點

info  檢視除錯資訊        eg:  info break檢視斷點資訊

print  檢視變數內容      eg:    print var   (var指的是變數名,下同)

continue 繼續執行c

delete 刪除斷點         eg:  delete 刪除所有斷點      delete break_id  刪除指定斷點

watch  變數監控,當變數名稱改變時,停下來   eg:watch var

5.檢視呼叫棧資訊(重點)

bractrace:   檢視函式呼叫棧資訊-----快速定位到程式崩潰位置  (bt)

makefile: 普通文字檔案,但是makefile中記錄的是專案的構建流程規則

make:   乙個程式---makefile直譯器;解釋makefile中的專案構建規則,完成專案的構建    

在當前目錄下敲擊make命令,make程式到當前目錄找makefile檔案,逐行解釋,makefile檔名大小寫不敏感

makefile基本編寫規則:

目標物件;[ 依賴物件]

tab 要執行的命令

make解釋規則:

make在makefile中尋找第乙個物件目標名稱:

若沒有找到:認為沒有要生成的物件,報錯退出

若找到了:判斷目標物件檔案是否存在:

目標物件檔案若存在:判斷是否依賴物件名稱

若沒有依賴物件名稱:認為目標物件已經生成,不需要重新執行命令生成

若有目標物件名稱:判斷目標物件檔案是否已經存在;

若存在:判斷目標物件檔案與依賴物件檔案的時間關係

若不存在:在makefile繼續向下查詢依賴物件的生成規則

依賴物件在下一條規則中作為目標物件被生成,進而生成第乙個目標物件後退出.

目標物件檔案不存在:

則直接執行命令生成

eg:

main:main.o

gcc main.o -o main

main.o:main.c

gcc main.c -o main.o

eg:

text:test.c

gcc -o test test.c

.phony:clean

clean:

rm test -f

makefiel預定義變數: $@ $<$^

$@: 目標物件

$^: 所有依賴物件

$<: 依賴物件中的第乙個

eg:

main:main.c

gcc  $^ -o $@

.phony:clean

clean:

rm test -f

偽物件 : 不管物件是否更新,是否存在,每次都需要為物件執行生成命令

宣告偽物件:    .phony :物件名稱

基本操作:

修改**後,本地提交(本地管理)

git add new_file

git commit -m "本次提交的備註資訊"

將本地修改提交到伺服器:

git push origin master

master是git**管理主分支

Linux Linux下常用工具

0 三種常用模式 命令模式 command mode 插入模式 insert mode 底行模式 last line mode 命令模式 控制螢幕游標的移動,字元的刪除,移動複製某區段 及進入插入模式下,或者到底行模式下。插入模式 只有在插入模式下,才能做文字輸入,按 esc 鍵可回到命令模式。底行...

SEO常用工具

seo常用工具 搜尋引擎抓取內容模擬器 可以模擬蜘蛛抓取指定網頁,包括text link keywords及description資訊等。頁面相似度檢測工具 檢驗兩個頁面的相似度 如果相似度達80 以上,將可能受到懲罰 sitemap 製作工具 中文 http www.xinqj.com sitem...

SQL 常用工具

在測試我們的系統時,需要向資料庫一次性插入128條記錄,而我們的配置工具的匯入匯出居然不支援 想想,也情有可原,需求就是這樣。手工輸入128條又太麻煩了,因此,我想到了bcp,之前在給同事導資料時也用過這個命令,但是當時看完幫助文件 導完資料後沒有做相應的記錄,又從頭看了遍文件,因此,決定把他記錄下...