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,适当的囫囵吞枣还是比较好的学习方式。

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