一、編寫代碼必須掌握的基礎linux指令
命令 | 作用 | 示例 |
---|---|---|
mkdir | 新建文件夾 | mkdir test,mkdir -p test1/test2/test3 |
cd | 更改當前的工作目錄 | cd test |
ls | 列出文件夾下包含的文件信息 | ls,ls -R,ls -a,ls-l |
pwd | 查看當前工作目錄 | pwd,pwd -P |
cp | 拷貝文件 | cp test1.c test2.c,cp test1.c ../test2 |
rm | 刪除文件或文件夾 | rm test1.c,rm -r test |
mv | 移動文件 | mv test1.c ./test2 |
touch | 創建文件或更新文件時間 | touch test.c,touch test.c test.c |
cat | 查看文件內容 | cat test.c,cat -b test.c,cat -s test.c |
二、vi編輯器:Linux下的vi編輯器分爲三種模式,分別爲一般模式、插入模式、底行指令模式。
1、一般模式:剛進入的模式或者當前爲插入模式下按ESC鍵可到一般模式。一般模式常用快捷鍵:
快捷鍵 | 作用 |
---|---|
u |
撤銷上一步的操作 |
0 | 光標移動到當前行的行首 |
$ | 光標移動到當前行的行尾 |
3G | 光標移動到第3行的行首 |
dd | 剪切行內容 |
yy | 複製行內容 |
p或P | 粘貼當前行內容,小寫p是向下粘貼,大寫P是向上粘貼 |
2、編輯模式:用來編輯代碼內容,一般模式用來複制、粘貼、刪除等操作。
3、底行命令模式:底行命令模式主要用來保存文件、退出、查找文本內容等。常用指令:
命令 | 作用 |
---|---|
:w | 保存內容 |
:q! | 強制退出 |
:q | 退出未修改的文件。 |
:x或:wq | 保存並退出 |
:w 文件名 | 另存爲文件名的文件 |
:r 文件名 | 讀入文件內容插入到當前光標位置 |
:N | 光標移動到第N行 |
:set nu | 顯示行號 |
:set nonu | 不顯示行號 |
:/string | 查找string字符串(通過n或者N分別向下或反向查找) |
:s/string1/string2 | 將字符串string1替換爲string2.(注:可以是“:起始行,結束行 :s/string1/string2 ”來將某一範圍內的字符串替換,在末尾如果加/g表示所有找到的字符都替換。) |
:!+linux命令 | 可執行Linux命令,執行後可再次回到編輯界面 |
三、gcc編譯
1、Gcc編譯器在編譯一個C語言程序時需要經過以下 4 步:
(1) 將C語言源程序預處理,生成.i文件。
(2)預處理後的.i文件編譯成爲彙編語言,生成.s文件。
(3)將彙編語言文件經過彙編,生成目標文件.o文件。
(4)將各個模塊的.o文件鏈接起來生成一個可執行程序文件。
其中.i文件、.s文件、.o文件可以認爲是中間文件或臨時文件,如果使用 GCC 一次性完成C語言程序的編譯,那麼只能看到最終的可執行文件,這些中間文件都是看不到的,因爲 GCC 已經經它們刪除了。當然,可以使用 GCC 選項看到這些中間文件。
2、常用的GCC編譯選項
gcc編譯選項 | 選項的意義 |
---|---|
-c | 編譯、彙編指定的源文件,但是不進行鏈接 |
-S | 編譯指定的源文件,但是不進行彙編 |
-E | 預處理指定的源文件,不進行編譯 |
-o [file1] [file2] | 將文件 file2 編譯成可執行文件 file1 |
-I directory | 指定 include 包含文件的搜索目錄 |
-g | 生成調試信息,該程序可以被調試器調試 |
注意:gcc 編譯選項會區分大小寫。因此-o
選項和-O
選項的效果是不一樣的。前者表示源文件編譯成爲可執行文件,後者表示將源文件編譯成爲可執行文件並且進行一級優化。