山东大学实验报告 1

山东大学 计算机科学与技术 学院

云计算技术 课程实验报告

学号:202000130199 |姓名:荆树吉 | 班级:20数据

实验题目:Linux环境基本操作练习

实验学时:2

实验日期: 2023.2.25

实验目的:

在Linux环境下,熟悉基本的文件操作和命令

具体包括:了解Linux,浏览文件、创建文件、安装一个程序、了解Python、C++等常用编程环境

硬件环境:

计算机一台

软件环境:

Linux

实验步骤与内容:

1.了解linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

2.浏览文件和创建文件

ls可以浏览当前文件夹的所有文件vi可以浏览文件之间的具体内容

1.浏览文件夹内容

vi test

2.浏览文件内容

3.安装程序

一、 源码编译安装(二进制安装)

程序:由开发人员写代码一个一个单词敲出来的

源码:编写好的.c.java文件

编译:将人类写的代码翻译成二进制语言

安装:将二进制保存在键盘上

缺点:

如果编译出了问题,你不懂源代码,无法解决

安装过程复杂

没有统一的管理人员

优点:

契合系统,兼容性强

如果你可以看懂源代码,修改新增功能

比较自由

二、rpm安装(安装包管理工具)

优点:

统一的安装包格式

已经帮你编译完成

使用简单

缺点:

有依赖关系(安装 a ,就需要先安装别的)

查询(对已安装程序查询)

查看系统已安装的所有软件(-qa)

4 .c++,和python的利用 vscode

1.c++代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>
using namespace std;
int n,X,Y;
int x[202],y[202];
struct d{
int dis;
int no;
};
int main()
{
d node[202];
cin>>n>>X>>Y;
for(int i=0;i<n;i++)
{
cin>>x[i]>>y[i];
node[i].dis=(x[i]-X)*(x[i]-X)+(y[i]-Y)*(y[i]-Y);
node[i].no=i;
}
int t,k;
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if((node[i].dis>node[j].dis)||((node[i].dis==node[j].dis)&&(node[i].no>node[j].no)))
{
t=node[i].dis;
node[i].dis=node[j].dis;
node[j].dis=t;
k=node[i].no;
node[i].no=node[j].no;
node[j].no=k;
}
}
}
for(int i=0;i<n;i++)
{
cout<<node[i].dis<<" "<<node[i].no<<endl;
}
cout<<node[0].no+1<<endl<<node[1].no+1<<endl<<node[2].no+1;
}

给出一个点的坐标和其他的点的个数

再给出几个对应的点的坐标

判断里这个点最近的三个点

三个点的顺序由序号越小对应的距离就越近

2.python 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import matplotlib.pyplot as plt
import pandas as pd

#读入文件
file_path = "data.txt"
df = pd.read_table(file_path, header=None)

#定义 x y变量
x = []
y = []

#定义颜色变量
color = ['c', 'b', 'g', 'r', 'm', 'y', 'k', 'w']

#用for循环将文件中的值赋值给x,y
for i in range(len(df[0])):
x.append(int(df[0][i].split(',')[0]))
y.append(int(df[0][i].split(',')[1]))

#画图
plt.scatter(x, y, c=color[2], edgecolors='g')
plt.show()
画一个散点图
数据如下
151,54
137,55
95,66
156,91
193,101
58,104
133,105
120,118
167,136
110,149
96,174
22,184
60,193
88,198
177,202
213,235
133,249
127,255
70,257
40,273
64,271
168,286
126,325
132,335


结论分析与体会

Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。

Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。

Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。