Linux 實驗一:基本命令與開發工具

實驗一:基本命令與開發工具

一、實驗目的

  1. 熟練掌握Linux系統中的常用命令。
  2. 熟練使用Linux系統中的常用開發工具。

二、實驗環境

Ubantu或Centos

三、實驗內容

  1. Linux系統中的常用命令
    • 文件操作命令
    • 權限管理命令
    • 網絡管理命令
    • 網絡通信命令
  2. Vi編輯器
    • Vi命令
    • 模式切換
  3. GCC編譯器
    • GCC編譯流程
    • 單文件編譯
    • 多文件編譯

四、實驗步驟

1. Linux系統中的常用命令

文件操作命令

ls:使用ls命令查看文件和目錄
pwd:使用pwd命令查看當前路徑
mkdir:使用mkdir命令創建目錄
cd:使用cd命令切換目錄
touch:使用touch更新文件wuwenjie的時間標籤
cp:使用cp命令複製文件
mv:使用mv命令移動文件
rm:刪除目錄或文件
rmdir:使用rmdir命令刪除目錄
cat:使用cat命令查看文件內容
more:使用more命令查看文件內容
head/tail:使用head/tail命令查看文件內容

權限管理命令

chmod:使用chmod命令更改文件權限
chown:使用chown命令更改文件所有者
chgrp:使用chgrp命令更改文件的所屬組

網絡管理命令

ifconfig:使用ifconfig命令查看網絡配置
netstat:使用netstat命令查看網絡狀態
ping:測試網絡狀態

2. Vi編輯器

3. GCC編譯器

GCC編譯流程

  gcc –E hello.c –o hello.i	   //預處理

預處理階段主要處理源代碼中以“#”開頭的預編譯指令和一些註釋信息,處理規則如下:

  1. 刪除代碼中的#define,展開所有宏定義;
  2. 處理條件編譯指令,如#if#ifdef#undef等;
  3. 將由#include包含的文件插入到預編譯指令對應的位置,若文件中包含其它文件,同樣進行替換
  4. 刪除代碼中的註釋;
  5. 添加行號和文件標識;
  6. 保留#pragma編譯器指令。
gcc –S hello.i –o hello.s			//編譯

在編譯階段,GCC會對經過預處理的文件進行語法、詞法和語義分析,確定代碼實際要做的工作,若檢查無誤,則生成相應的彙編代碼文件。

gcc –c hello.s –o hello.o			//彙編

該過程將編譯後生成的彙編代碼轉換爲機器可以執行的命令,即二進制指令,每一個彙編語句幾乎都會對應一條機器指令。

gcc hello.o –o hello				//鏈接

鏈接的過程是組裝各個目標文件的過程,在這個過程中會解決符號依賴和庫依賴關係,最終生成可執行文件。

./hello							//執行

根據以上步驟編譯程序,過程中可使用vi命令打開過程文件,查看文件內容。

單文件編譯

gcc hello.c						//直接編譯生成可執行文件

默認可執行文件名爲a.out,在命令行輸入./a.out,觀察執行結果。

多文件編譯

使用vi編輯器創建文件_add.h、_add.c、_main.c,其中的代碼分別如下:
_add.h

//頭文件,加法函數聲明
int _add(int a,int b);

_add.c

//加法函數定義
#include "_add.h"
int _add(int a,int b)
{
    int c = a + b;
    return c;
}

_main.c

//主函數文件
#include <stdio.h>
#include "_add.h"
int main()
{
    int a = 10; 
    int b = 5;
    int c = _add(a,b);
    printf("c = %d\n",c);
    return 0;
}

使用gcc編譯多個文件

gcc _main.c _add.c –o _main		//多文件編譯生成可執行文件_main
./_main						//執行可執行文件_main

執行結果爲:c = 15

五、實驗總結

對於Linux的學習,我們應該know how,再know why,適當的囫圇吞棗還是比較好的學習方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章