摘要:環(huán)境基礎(chǔ)開發(fā)工具使用軟件包管理器的三板斧查看軟件包安裝軟件卸載軟件和互傳文件的三種模式的轉(zhuǎn)換命令模式插入模式底行模式編譯器使用函數(shù)庫調(diào)試器使用項(xiàng)目自動(dòng)化構(gòu)建工具軟件包管理器軟件包和軟件包管理器就好比手機(jī)上的和應(yīng)用
軟件包和軟件包管理器, 就好比手機(jī)上的"App" 和 “應(yīng)用商店”
所以yum的作用主要是在Linux下安裝軟件
注意:
關(guān)于 yum 的所有操作必須保證主機(jī)(虛擬機(jī))網(wǎng)絡(luò)暢通
通過yum list 命令可以羅列出當(dāng)前一共有哪些軟件包
我們可以使用grep命令篩選出我們需要的包
例如:
yum list | grep lrzsz
軟件名"lrzsz"
“x86_64” 后綴表示64位系統(tǒng)的安裝包, “i686” 后綴表示32位系統(tǒng)安裝包. 選擇包時(shí)要和系統(tǒng)匹配
“el7” 表示操作系統(tǒng)發(fā)行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.
os表示的是 “軟件源” 的名稱, 類似于 “小米應(yīng)用商店”, “華為應(yīng)用商店” 這樣的概念
sudo yum install (-y) lrzsz
加上-y后直接自動(dòng)安裝不用輸入y確認(rèn)
安裝軟件時(shí)由于需要向系統(tǒng)目錄中寫入內(nèi)容, 一般需要 sudo 或者切到 root 賬戶下才能完成,卸載也一樣
centos中任何時(shí)刻只允許一個(gè)yum運(yùn)行
sudo yum remove lrzsz
Windows傳到Linux直接拖拽到命令框Linux到Windows用sz 文件名
本質(zhì)是多模式的文本編輯器
vim目前包括10多種模式,下面我們來講講其中的三種模式
vim 文件名 進(jìn)入文本編輯器(如下圖):
可以看到進(jìn)入默認(rèn)是Normal(命令模式)
如果要退出就進(jìn)入底行模式輸入wq!退出
命令:
shift+$:行尾
shift+^:行頭
shift+g:文本最后一行開頭
gg:文本第一行開頭
n+shift+g:定位到第n行開頭
h,j,k,l:左下上右
w:按照"單詞"從左向右移動(dòng),每次光標(biāo)指向下一個(gè)單詞的開始
e:按照"單詞"從左向右移動(dòng),每次光標(biāo)指向下一個(gè)單詞的結(jié)尾
b:按照"單詞"從右向左移動(dòng)
#l:光標(biāo)移到該行的第#個(gè)位置
ctrl+b:下翻一頁
ctrl+f:上翻一頁
ctrl+u:下翻半頁
ctrl+d:上翻半頁
復(fù)制粘貼:
yy:復(fù)制光標(biāo)所在行
nyy:從光標(biāo)行開始復(fù)制n行
nyw,yw:按照單詞復(fù)制
p:粘貼
np:粘貼n次
撤銷:
u:撤銷
ctrl r:恢復(fù)剛剛的撤銷
刪除:
dd:刪除光標(biāo)所在行
ndd:從光標(biāo)所在行開始刪除n行
dd,ndd完再加p:就可以實(shí)現(xiàn)剪切的功能
x,nx:刪除光標(biāo)所在字符
shift+x(X),nX:往前刪除字符,不包括光標(biāo)
替換:
shift+~:大小寫切換
r,nr:替換光標(biāo)所在字符
shift+r?:進(jìn)入替換模式
跳至指定的行:
#G:移動(dòng)光標(biāo)至文章的第#行行首
插入模式就是正常的文本編輯
set nu: 輸入set nu后,會(huì)在文件中的每一行前面列出行號(hào)
wq!:保存并退出文本編輯器,w表示保存寫的內(nèi)容,q表示退出,!表示強(qiáng)制
vs 文件名:分屏
ctrl+ww:光標(biāo)在分屏下切換
gcc編譯:
格式:
gcc [選項(xiàng)] 要編譯的文件 [選項(xiàng)] [目標(biāo)文件]
c程序的翻譯:
1 預(yù)處理:
頭文件展開,去注釋,宏替換,條件編譯
gcc –E test.c –o test.i
選項(xiàng)“-E”,該選項(xiàng)的作用是讓 gcc 在預(yù)處理結(jié)束后停止編譯過程
選項(xiàng)“-o”是指將預(yù)處理過的文件結(jié)果放入test.i中
gcc test.c -D π=3.14
-D 宏的命令行定義,可以動(dòng)態(tài)地進(jìn)行宏定義
gcc –S test.c –o test.s
只進(jìn)行編譯而不進(jìn)行匯編,生成匯編代碼
3. 匯編(生成可重定向文件)
gcc –c test.s –o test.o
匯編代碼轉(zhuǎn)化為二進(jìn)制目標(biāo)代碼
4 鏈接(生成可執(zhí)行文件或庫文件)
gcc test.o –o test
目標(biāo)文件只有函數(shù)調(diào)用沒有函數(shù)實(shí)現(xiàn),鏈接過程的本質(zhì)是將自己的函數(shù)調(diào)用過程與實(shí)現(xiàn)關(guān)聯(lián)起來
lld 文件名
查看文件所依賴的庫
可以看到test.c使用了c標(biāo)準(zhǔn)庫該庫是一個(gè)動(dòng)態(tài)庫
file 文件名
查看文件的詳細(xì)類型
gcc用于寫c語言,輸入命令時(shí)將gcc改成g++就可以進(jìn)行c++的編寫
作用:減少開發(fā)的工作量
函數(shù)庫一般分為靜態(tài)庫和動(dòng)態(tài)庫兩種
動(dòng)態(tài)庫 | 靜態(tài)庫 | |
---|---|---|
原理 | 程序需要找到庫函數(shù),執(zhí)行后返回再繼續(xù)執(zhí)行剩余代碼 | 在鏈接的時(shí)候,需要的庫函數(shù)會(huì)拷給程序,直接在程序里面執(zhí)行 |
優(yōu)點(diǎn) | 省空間,體積小,加載速度快 | 不依賴第三方庫,可移植性強(qiáng) |
缺點(diǎn) | 依賴第三方庫,可移植性弱 | 浪費(fèi)空間,加載速度慢 |
gcc生成可執(zhí)行程序,默認(rèn)是動(dòng)態(tài)鏈接的
gcc加上-static生成靜態(tài)鏈接
調(diào)試:gdb 文件名
退出: ctrl + d 或 quit
centos7中 gcc默認(rèn)生成的可執(zhí)行程序是release(文件比debug小,不可被調(diào)試)
添加-g讓程序以debug方式發(fā)布
調(diào)試命令:
list(或者l) (行號(hào)):顯示文件源代碼,接著上次的位置往下列,每次列10行
list(l) 函數(shù)名:列出某個(gè)函數(shù)的源代碼
r或run:運(yùn)行程序
break(或者b) 行號(hào):在某一行設(shè)置斷點(diǎn)
info b :查看斷點(diǎn)信息
delete(或者d) n:刪除序號(hào)為n的斷點(diǎn)
p 變量:打印變量值
n 或 next:逐過程執(zhí)行
s或step:逐語句,進(jìn)入函數(shù)調(diào)用
display 變量名:監(jiān)視查看一個(gè)變量,每次停下來都顯示它的值
undisplay 編號(hào):取消對(duì)先前設(shè)置的那些變量的跟蹤
until X行號(hào):跳至X行
finish:執(zhí)行到當(dāng)前函數(shù)返回,然后挺下來等待命令
continue(或c):跳到下一個(gè)斷點(diǎn)
set var:修改變量的值
breaktrace(或bt):查看各級(jí)函數(shù)調(diào)用及參數(shù)
makefile帶來的好處就是——“自動(dòng)化編譯”,一旦寫好,只需要一個(gè)make命令,整個(gè)工程完全自動(dòng)編譯,極大的提高了軟件開發(fā)的效率
make是一條命令,makefile是一個(gè)文件,兩個(gè)搭配使用,完成項(xiàng)目自動(dòng)化構(gòu)建
$@:依賴關(guān)系中的目標(biāo)文件
$^:依賴關(guān)系中的依賴文件列表
$<:依賴關(guān)系中的一個(gè)一個(gè)的依賴文件
用命令make來編譯目標(biāo)文件,用完后make clean清理文件
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/121952.html
摘要:是系統(tǒng)提供的容器化技術(shù),簡(jiǎn)稱,它結(jié)合和技術(shù)為用戶提供了更易用的接口來實(shí)現(xiàn)容器化。公司結(jié)合和以下列出的技術(shù)實(shí)現(xiàn)了容器引擎,相比于,具備更加全面的資源控制能力,是一種應(yīng)用級(jí)別的容器引擎。 showImg(https://segmentfault.com/img/bVbtPbG?w=749&h=192); 題外話 最近對(duì)Docker和Kubernetes進(jìn)行了一番學(xué)習(xí),前兩天做了一次技術(shù)...
摘要:函數(shù)名列出某個(gè)函數(shù)的源代碼,含函數(shù)名上下各五行類比調(diào)試或從開始連續(xù)而非單步執(zhí)行程序遇到斷點(diǎn)停下。相當(dāng)于中的或單條執(zhí)行。 目錄 一、調(diào)試器gdb 1、可以使用gdb的可執(zhí)行文件生成 2、使用命令 1、開始調(diào)試和退出調(diào)試 2、list 3、類比vs調(diào)試 4、代碼調(diào)試三劍客 5、變量 6、斷點(diǎn) 二...
閱讀 3607·2021-10-09 09:41
閱讀 2799·2021-10-08 10:18
閱讀 2252·2021-09-10 10:51
閱讀 2737·2021-09-10 10:50
閱讀 853·2021-09-09 09:33
閱讀 3467·2021-09-06 15:14
閱讀 3091·2019-08-30 11:06
閱讀 3312·2019-08-29 14:04