Linux操作系统7:文件系统及磁盘管理(二)

  • 写在最前面
  • 原文
  • 一、实验目的
  • 二、实验内容
  • 三、实验结果
  • 完善
  • 实验一:Linux软件包安装
  • 实验目的
  • 实验内容
  • 步骤1:检查并重新安装vim
  • 实验二:使用`make`进行源码编译
  • 实验目的
  • 实验内容
  • 步骤1:编写C语言程序
  • 步骤2:编写makefile文件
  • 步骤3:使用`make`编译源码
  • 步骤4:运行可执行文件
  • 实验报告


写在最前面

原文发布时间:2022/11/13 12:23:04
由于质量分过低,因此进行完善更新

原文

一、实验目的

掌握Linux ubuntu系统软件包安装方法
掌握用make进行编译的方法和技能

二、实验内容

练习Linux Ubuntu系统中软件包的安装方法
在Linux系统下用make进行源码编译。
1.查看系统是否安装vim,若有,则先卸载该软件,然后重新安装vim(注意update)。
2.利用vim编写如下c语言程序:一个main.c代码完成两个数字的输入及四个子程序:add.c、subtract.c, multiply.c 和 divide.c的调用。其中,这四个子程序分别完成对main.c中输入数字的加、减、乘、除运算。完成源码文件的编写后,编写makefile文件描述各源码文件间的依赖关系及最终生成可执行文件main的编译规则。通过make工具将源码编译生成可执行文件main,并运行main文件。
根据实验练习1和2完成实验报告。

三、实验结果

我们发现,需要安装vim。因此我们先进入root模式,安装vim。

因为虚拟机不是最新的,所以安装失败了。所以,我们在安装之前先更新。

Linux操作系统7:文件系统及磁盘管理(二)_运维

这样就是更新成功了,我们再次进行vim的安装。

Linux操作系统7:文件系统及磁盘管理(二)_课程设计_02


Linux操作系统7:文件系统及磁盘管理(二)_笔记_03

下载成功后,可以在图形界面看到vim图标。并且,可以通过版本查看是否安装。

Linux操作系统7:文件系统及磁盘管理(二)_运维_04


Linux操作系统7:文件系统及磁盘管理(二)_linux_05

Linux操作系统7:文件系统及磁盘管理(二)_服务器_06

进入vim界面后,按i进入编辑模式(可以看到,左下角有INSERT)
写完之后,按esc :wq

Linux操作系统7:文件系统及磁盘管理(二)_运维_07


Linux操作系统7:文件系统及磁盘管理(二)_运维_08


Linux操作系统7:文件系统及磁盘管理(二)_笔记_09


Linux操作系统7:文件系统及磁盘管理(二)_运维_10


Linux操作系统7:文件系统及磁盘管理(二)_课程设计_11

先下载gcc

Linux操作系统7:文件系统及磁盘管理(二)_笔记_12

Linux操作系统7:文件系统及磁盘管理(二)_服务器_13

Linux操作系统7:文件系统及磁盘管理(二)_服务器_14


Linux操作系统7:文件系统及磁盘管理(二)_笔记_15

Linux操作系统7:文件系统及磁盘管理(二)_linux_16

Linux操作系统7:文件系统及磁盘管理(二)_笔记_17


Linux操作系统7:文件系统及磁盘管理(二)_服务器_18

完善

分为两个部分来完成这次实验。

实验一:Linux软件包安装

实验目的

  • 掌握Linux Ubuntu系统软件包的安装方法。

实验内容

步骤1:检查并重新安装vim

首先,我们将检查系统是否安装了vim编辑器。如果已安装,我们将卸载它,然后重新安装。这将有助于熟悉软件包的安装和卸载过程。

  1. 打开终端,检查是否已安装vim
vim --version

如果vim已经安装,将显示VIM - Vi IMproved以及相关信息。

  1. 如果vim已安装,卸载它:
sudo apt remove vim

输入管理员密码确认卸载。

  1. 现在重新安装vim
sudo apt update
sudo apt install vim

这将更新软件包信息并重新安装vim

现在,我们已经重新安装了vim,接下来,我们将进行第二部分的实验。

实验二:使用make进行源码编译

实验目的

  • 掌握使用make进行源码编译的方法和技能。

实验内容

步骤1:编写C语言程序

在这一部分,我们将使用vim编辑器编写一个简单的C语言程序。这个程序将包括一个main.c文件,以及四个子程序:add.csubtract.cmultiply.cdivide.cmain.c将接收两个数字的输入,并调用这四个子程序完成加法、减法、乘法和除法运算。

// main.c
#include <stdio.h>
#include "add.h"
#include "subtract.h"
#include "multiply.h"
#include "divide.h"

int main() {
    double num1, num2;
    printf("Enter two numbers: ");
    scanf("%lf %lf", &num1, &num2);

    printf("Sum: %lf\n", add(num1, num2));
    printf("Difference: %lf\n", subtract(num1, num2));
    printf("Product: %lf\n", multiply(num1, num2));
    printf("Quotient: %lf\n", divide(num1, num2));

    return 0;
}
步骤2:编写makefile文件

为了使用make工具编译这些源码文件,我们需要编写一个makefile文件,描述各源码文件之间的依赖关系和最终生成可执行文件main的编译规则。

# makefile

CC = gcc
CFLAGS = -Wall

all: main

main: main.o add.o subtract.o multiply.o divide.o
	$(CC) $(CFLAGS) -o main main.o add.o subtract.o multiply.o divide.o

main.o: main.c
	$(CC) $(CFLAGS) -c main.c

add.o: add.c
	$(CC) $(CFLAGS) -c add.c

subtract.o: subtract.c
	$(CC) $(CFLAGS) -c subtract.c

multiply.o: multiply.c
	$(CC) $(CFLAGS) -c multiply.c

divide.o: divide.c
	$(CC) $(CFLAGS) -c divide.c

clean:
	rm -f main main.o add.o subtract.o multiply.o divide.o

这个makefile文件指定了各个源码文件之间的依赖关系,以及如何编译它们并生成可执行文件main

步骤3:使用make编译源码

现在,我们可以使用make工具编译这些源码文件并生成可执行文件main。在终端中,进入源码文件所在的目录,并运行以下命令:

make

make将按照makefile文件中定义的规则进行编译。

步骤4:运行可执行文件

编译成功后,你可以运行生成的可执行文件main

./main

然后输入两个数字,并得到它们的加法、减法、乘法和除法运算结果。

实验报告

本次实验我们完成了两个主要目标。首先,我们掌握了Linux Ubuntu系统中软件包的安装方法,包括安装和卸载软件包。其次,我们学习了如何使用make进行源码编译,包括编写makefile文件,定义依赖关系和编译规则,以及使用make工具编译源码文件。

通过这次实验,我们深入了解了Linux操作系统的一些高级主题,包括软件包管理和源码编译。这些技能对于Linux系统管理和开发非常重要。

希望本次实验对你的Linux学习之路有所帮助。