前天做了個入門,學了一些linux的基本操作,檔案的操作命令等,經過一天的鞏固,今天又來了一堆乾貨,很雜,但是很有用
上**(簡單命令)
今天跟明天下午自習的任務基本就是linux下c語言的相關知識了
編譯器;編譯器;偵錯程式;makefile檔案等
i 在游標前輸入文字
i 在當前行開始輸入文字
a 在游標後輸入文字
a 在當前行末尾輸入文字
o 在當前行後輸入新一行
o 在當前行前輸入新一行
游標移動命令:
b 移動到當前單詞的開始
e 移動到當前單詞的結尾
w 向後移動乙個單詞
h 向前移動乙個字元 ←
j 向下移動一行 ↓
k 向上移動一行 ↑
l 向後移動乙個字元 →
刪除命令:
x 刪除游標所在的字元
dw 刪除游標所在的單詞
d$ 刪除游標至行尾所有字元
d 同
dd 刪除當前行
ndd 刪除當前行以後的n行
改變與替換操作命令:
r 替換游標所在的字元
r 替換字串行
cw 替換乙個單詞
ce 同cw
c$ 替換自游標位置至行尾的所有字元
c 同c$
cc 替換當前行
拷貝和貼上命令:
yw 將游標所在單詞複製到貼上板
y$ 將游標至行尾的字元複製到貼上板
y 同y$
yy 將當前行複製到貼上板
nyy 將當前行後的n行複製到貼上板
p 將貼上板中的內容貼上在游標前
p 將貼上板中的內容貼上在游標後
其他有用的命令:
ng 跳到第n行
u 撤銷
. 重做
配對括號的查詢:
用法:將游標移動到乙個括號上,按下%,游標跳轉到其配對的括號上
{}、()
頁面操作:
ctrl + b #向前移動一頁
ctrl + f #向後移動一頁
zz #將當前行置於螢幕**
gg #移動到第一行行首
g #移動到最後一行行首
數字 + 命令:
ng #跳到第n行
nx #刪除n個字元
ndd #刪除當前行以後的n行
nyy #將當前行後的n行複製到貼上板
n+ #向後跳轉n行
n- #向前跳轉n行
n↑↓←→ #向上下左右跳轉n次
以上為命令列模式下指令
設定vi:
:set number等於:set nu 顯示行號
: set nonumber等於:set nonu 隱藏行號
:set autoindent 智慧型縮排
:set mouse=a 開啟滑鼠
檔案儲存及退出命令:
:q 不儲存退出
:q! 不儲存強制性退出
:w 儲存編輯
:w filename 另存為檔案 filename
:wq 儲存退出
:x 同 :wq
zz 同 :wq
查詢命令:
/abc 向後查詢abc
?abc 向前查詢abc
n 向後繼續查詢
n 向前繼續查詢
替換與查詢:
查詢+替換:
:s/old/new 替換該行第乙個old為new
:s/old/new/g 可以替換全行中所有的old為new
:#,#s/old/new/g 替換兩行之間出現的old為new,#,#為兩行的行號
:%s/old/new/g 替換全文的old為new
:%s/old/new/gc 全文替換前需確認
以上為底行模式命令
插入模式即為正常輸入**
第二個重要知識點為gcc編譯器和gbd偵錯程式
在我看來,gcc編譯器是乙個強大的編譯程式,負責c語言與二進位制機器碼之間的轉換
而gbd偵錯程式是用來檢驗程式功能實現的重要工具,只不過不是基於圖形介面,而是用**操作
.c為字尾的檔案,c語言源**檔案;
.h為字尾的檔案,是程式包含的標頭檔案;
.i為字尾的檔案,是已經預處理過的c源**檔案;
.s為字尾的檔案,是組合語言源**檔案
.o為字尾的檔案,是編譯後的目標二進位制檔案;
分別對應4個過程的原始檔與目標檔案
有幾點要注意:
(1)gcc example.c -o example #直接生成可執行檔案
(2)./example #執行可執行檔案
(3)若不使用 -o 則生成可執行檔案 a.out
(4)linux標頭檔案預設放在/usr/include中
至於gbd偵錯程式,只要記住一些功能就行了:
1、 l(list) #一次列出10行**(list n,m #列出n~m行)
2、 r(run) #執行程式(未設定斷點,將程式執行完畢)
3、 b(break) #b+行號,在該行設定斷點
4、 c(continue) #當程式執行時,繼續執行程式,直到遇到斷點
5、 i b(info break) #檢視斷點資訊
6、 d+編號 #(delete)刪除該斷點(d刪除所有斷點)
7、 clear+行號 #刪除指定行斷點(不加行報錯)
8、 p(print) #p+變數名,顯示變數的值
9、 s(step) #單步執行(進入呼叫函式)
10、 n(next) #不進入呼叫的函式,只在主函式中執行
11、 return/finish #退出step進入的呼叫函式
12、 q(quit) #退出gdb除錯
今天的**量感覺很多知識很雜,但是通過理解來記憶的話,也不是很難,一小步而已,但確實在進步。
Linux學習記錄 day2
linus常用指令 1.ls alst 2.pwd 3.mkdir mp m設定目錄的許可權 p巢狀建立 4.rmdir 刪除空目錄 5.cp adprfiu 6.rm 刪除檔案或目錄 7.mv 移動檔案或目錄或更改檔名 8.文字編輯器 vim u撤銷 n dd 剪下 n yy複製 p貼上游標下一行...
記錄C語言學習Day2
今天為了幫親戚家小孩輔導,寫了段 主要是給出一元二次方程組的解的各種情況 include include include void meaningless 宣告當判別式小於0時用到的函式 void single int a,int b,int c 宣告當判別式等於0時用到的函式 void doubl...
機器學習 day2
歸一化 將所有資料轉化到同一標準下,使的某乙個特徵對最終結果不會造成更大的影響。通過對原始資料進行變換把資料對映到 預設為 0,1 之間 問題 如果資料中異常點過多,會有什麼影響?最大值最小值會受影響。方差考量資料的穩定性。標準化 將所有資料進行變換到平均值為0,標準差為1之間。standardsc...