目錄
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基本編寫規則:
目標物件;[ 依賴物件]make解釋規則:tab 要執行的命令
make在makefile中尋找第乙個物件目標名稱:eg:若沒有找到:認為沒有要生成的物件,報錯退出
若找到了:判斷目標物件檔案是否存在:
目標物件檔案若存在:判斷是否依賴物件名稱
若沒有依賴物件名稱:認為目標物件已經生成,不需要重新執行命令生成
若有目標物件名稱:判斷目標物件檔案是否已經存在;
若存在:判斷目標物件檔案與依賴物件檔案的時間關係
若不存在:在makefile繼續向下查詢依賴物件的生成規則
依賴物件在下一條規則中作為目標物件被生成,進而生成第乙個目標物件後退出.
目標物件檔案不存在:
則直接執行命令生成
main:main.oeg:gcc main.o -o main
main.o:main.c
gcc main.c -o main.o
text:test.cmakefiel預定義變數: $@ $<$^gcc -o test test.c
.phony:clean
clean:
rm test -f
$@: 目標物件
$^: 所有依賴物件
$<: 依賴物件中的第乙個
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,之前在給同事導資料時也用過這個命令,但是當時看完幫助文件 導完資料後沒有做相應的記錄,又從頭看了遍文件,因此,決定把他記錄下...