Linux_linux常用工具(git,vim ,gcc ,gdb,权限)超详解
git :項目版本控制工具
項目克隆:git clone項目提交:git add(本地倉庫提交) git commit -m “bak msg”(-m 備注信息)同步到服務(wù)器:git push origin master(提交到主分支)**(提交時需要用戶名和密碼)**svn–集中式
git —分布式 自己都有一個git倉庫,
vim 編輯器
vim共有12種模式,最常用的是三種:
普通模式:完成編輯一個文件最常見的操作光標(biāo)移動復(fù)制,粘貼,剪切,撤銷,恢復(fù)撤銷 插入模式:插入數(shù)據(jù) 底行模式:保存/退出 vim設(shè)置vim filename -->普通模式—>插入模式—>返回普通模式–>進(jìn)入底行模式–>保存退出
模式切換:
esc回普通模式普通--->插入 i : 從光標(biāo)所在位置開始插入I :光標(biāo)移動到行首,開始插入a :光標(biāo)移動最后一個字符,開始插入A : 光標(biāo)移動到行尾,開始插入o : 向光標(biāo)所在行下方添加新行,開始插入O : 向光標(biāo)所在行上方添加新行,開始插入插入-->普通 esc普通-->底行 :底行—>普通 esc普通模式下的操作
光標(biāo)移動:h j k l 上下左右w/b 按單詞右左移動ctrl+f/b 向下/上翻頁gg/G 文檔首行/尾行 復(fù)制: yy 復(fù)制光標(biāo) 所在行nyy 從光標(biāo)所在行開始向下復(fù)制n行 粘貼:P(小寫) 向光標(biāo)所在行下方粘貼新行P(大寫) 向光標(biāo)所在行上方粘貼新行 剪切:X 刪除光標(biāo)所在字符dw 刪除光標(biāo)所在單詞dd 刪除光標(biāo)所在行ndd 從光標(biāo)所在行開始向下刪除n行 撤銷:u 恢復(fù)撤銷ctrl+r底行模式的操作:
:q 退出 :w 保存 :wq 保存并退出 :q! 退出不保存(強制退出)gcc編譯器
將高級語言程序(c語言)編譯成為機器可識別的指令代碼
編譯過程:
去掉了一個分號。
預(yù)處理
報錯(之前少寫的分號問題)
現(xiàn)在就沒有錯了
庫文件:
大佬們實現(xiàn)一些常用的功能接口,為了防止每次編譯耗費時間,因此將這些接口代碼進(jìn)行編譯匯編,并且將匯編完成的 代碼存儲到一個文件中,這個文件就叫庫文件
這時候如果大家想用庫函數(shù),這時候就需要包含頭文件,因為頭文件中聲明這個函數(shù)的存在,這時候編譯器再頭文件,文件中 檢測到這個聲明,就知道有這個函數(shù)的時間,就不會報錯。
最終鏈接生成可執(zhí)行程序的時候,因為要具體讓cpu處理命令,因此就必須將這些接口的具體實現(xiàn)拿過來
Gcc的鏈接方式:
靜態(tài)鏈接:靜態(tài)鏈接庫,連接時,將庫中代碼寫入到可執(zhí)行程序中; 優(yōu)點:運行時不依賴庫的存在, 但是占用資源較多,并且去過大量的程序靜態(tài)鏈接, 會再內(nèi)存中造成代碼冗余。動態(tài)鏈接:鏈接動態(tài)庫,鏈接時,只記錄接口的位置符號信息,并不拷貝代碼; 優(yōu)點:占用資源少,在內(nèi)存中大量程序,可以共享使用(共享庫), 缺點:運行時原喲依賴庫的存在(運行時庫)gcc編譯器的默認(rèn)的鏈接方式:動態(tài)鏈接gdb調(diào)試器
調(diào)試一個程序的前提是什么?
生成debug版本程序,向程序中添加調(diào)試符號信息Linux下gcc默認(rèn)生成的程序是release版本的程序,需要加上-g選項,生成debug版本程序gcc -g main.c -0 main
生成debug版本程序
賦予參數(shù)
Gdb加載程序
gdb ./main gdb ->file./main 獲取運行參數(shù),并運行程序r -a –l -s -t最常見的調(diào)試操作有哪些?
打印內(nèi)容:P(print)打印變量內(nèi)容 P var_name 單步調(diào)試:start 開始逐步調(diào)試 l(list)查看調(diào)試行附近代碼L file;lineN(next)下一步;不進(jìn)入函數(shù),直接將函數(shù)運行S(step)下一步;跟蹤進(jìn)入函 數(shù) Unti 直接運行到指定行 Until file:line打斷點: b(break):打斷點b file:line b function_name i(info):查看調(diào)試信息 I b 查看斷點信息 d(delete)刪除斷點d b_id(斷點編號) watch 變量監(jiān)控watch var_name c(continue)繼續(xù)開始運行查看調(diào)用棧信息:bt 快速定位程序崩潰位置
因為main函數(shù)起始位置是第13行,所以到第13行停一下
查看附近代碼
n下一步,
until 直接運行到指定行
s進(jìn)入到函數(shù)里面
bt
權(quán)限:
用戶對操作系統(tǒng)進(jìn)行操作的權(quán)限:管理員root,普通 用戶對文件的操作權(quán)限:文件操作對用戶的分類:所有者u,所屬組g,其他o用戶對文件的造作分類:可讀r,可寫w,可執(zhí)行x 權(quán)限表示:rwx rwx r-x 111 111 101 775 權(quán)限命令:umask 給定權(quán)限&(~umask) chmod chown chgrp總結(jié)
以上是生活随笔為你收集整理的Linux_linux常用工具(git,vim ,gcc ,gdb,权限)超详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卵巢早衰试管能成功吗
- 下一篇: 地下城战场在那啊。?从那里进啊