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