Linux] 使用虚拟机配置 Ubuntu 环境使用虚拟机配置 Ubuntu 环境
目录
1.虚拟机安装Ubuntu系统
2.Ubuntu系统的网络配置
3.特别声明
首先我们先要下载VMware软件,大家自己去下啊!
1.虚拟机安装Ubuntu系统
我们进去之后点击创建新的虚拟机,然后选择自定义
接着点下一步
再点下一步
进入这个界面之后,我们选择稍后安装系统,然后点下一步
按照上面这个来选
注意:你的机器是64位的,就一定要选到有64位的来
接下来就是下面这样子
接下来是配置
内存给2G就够了
注意网络一定要选NAT
下面我们选默认的就行
接下来我们就要选磁盘的大小了,默认是20G,绝对够用了
接下来是
我们将其设置到我们上次设置的那个路径
我们点完成即可。
接下来我们需要配置镜像文件。
首先我们需要去下载镜像文件。
我们需要去:获取Ubuntu服务器版 | Ubuntu这里下载
注意要下载桌面版本!!! 5.8GB的那个
我们这就算是下载好了镜像文件。 接下来我们需要去配置我们的镜像
我们在这里选择我们下载的镜像文件。
然后我们点击确定。
我们点击启动选择第一个install啊,不要选错了
然后我们进入安装。
注意:如果在安装过程中出现了卡死现象,我们可以重启我们的虚拟机。然后把网络关闭,再重新安装一遍
我们点击重启
这里我们按回车键。
到这里我们的Ubuntu系统就算安装好了!
2.Ubuntu系统的网络配置
我们目前这个虚拟机是连不上网络的,我们得让它连上网络
首先虚拟机设置,选择NAT模式。
然后打开VMware左上角‘编辑’-->‘虚拟网络设置’。可以看到NAT模式的名称是‘VMnet8’,点击一下这个模式,然后点击一下‘更改设置’。 更改成下图这样子
勾选‘NET模式’、‘将主机虚拟适配器连接带此网络’和‘使用本地DHCP服务将IP地址分配给虚拟机’,注意这个子网ip地址192.168.109.0,等一下用到。
这个网关IP我也知道了:
然后,回到我们的windows端打开控制面板-->网络和internet-->网络连接,可以看到VMnet1和VMnet8,VMnet1是仅主机模式,VMnet8是NAT模式,我的笔记本的网络是WLAN,右键WLAN-属性-共享-‘允许其他网络用户...连接’,选择VMnet8,确定。
然后我们右键VMnet8-->状态-->详细信息可以看到IPv4地址是192.168.137.1。
现在就可以使用网络了。
3.特别声明
- 我们的镜像文件一定要在官网下,要下桌面版的
- 如果安装的时候卡顿在了复制文件那里,我们最好的办法就是删除这个虚拟机,再创建一个虚拟机。
- 如果安装完后设置好了网络,还是连不上网。最好的办法也是再创建一个虚拟机。
推荐阅读
-
Linux] 使用虚拟机配置 Ubuntu 环境使用虚拟机配置 Ubuntu 环境
-
Linux 虚拟机修改 IP 地址、查看网关、网络环境配置教程
-
使用 VMware Workstation 为 Linux 虚拟机配置固定 IP 地址、快照和克隆
-
问题注释 -- [Linux] Ubuntu 设置中文环境(可使用 WSL)
-
Ubuntu Linux 环境变量配置文件详情、环境变量 PATH 设置
-
Linux]Linux 环境基本工具(yum、vim)的基本使用和配置(继续)
-
使用 Ubuntu20.04 环境构建配置(FreeRADIUS3.0)进行 EAP-TLS 实验 (IV)
-
如何在Linux虚拟机中使用Oracle VM VirtualBox配置代理以畅游网络
-
= 0; i--) {
printf("%5d", *(p + i));
}
printf("\n");
return 0;
}
```
2. 利用指针计算奇数索引数组元素之和
```c
// 使用指针计算奇数索引数组元素之和
#include
int main() { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int n = sizeof(arr) / sizeof(arr[0]); printf("数组元素: "); for (int i = 0; i < n; i++) { printf("%3d", arr[i]); // 宽度为3,右对齐 } printf("\n"); printf("数组下标: "); for (int i = 0; i < n; i++) { printf("%3d", i); // 宽度为3,右对齐 } printf("\n"); int sum = 0; int *p = arr; // 声明指向整数的指针 for (int i = 0; i < n; i++) { if (i % 2 != 0) { sum += *(p + i); // 若索引i为奇数,累加对应元素值 } } printf("奇数索引数组元素之和: %d\n", sum); return 0; } ``` 3. 查看不同类型指针在Linux Ubuntu gcc下的字节大小 ```c // 在Linux Ubuntu gcc环境下查看不同类型指针的字节大小 #include #include int main() { printf("int指针大小: %zu bytes\n", sizeof(int *)); printf("char指针大小: %zu bytes\n", sizeof(char *)); printf("float指针大小: %zu bytes\n", sizeof(float *)); printf("double指针大小: %zu bytes\n", sizeof(double *)); return 0; } ``` 请注意,对于现代64位系统(如Linux),`int`、`char`、`float`和`double`指针通常都是8字节。但在某些特定情况下(如32位系统或特定编译环境),可能有所不同。 4. 使用指针遍历并打印字符数组 ```c // 使用指针遍历并打印字符数组 #include #include // 引入strlen函数 int main() { char str[] = "Hello, World"; // 字符串常量 int len = strlen(str); // 获取字符串长度 char *ptr = str; // 定义指向字符的指针 printf("输出字符串: %s\n", str); // 输出原始字符串 printf("遍历并打印字符数组: "); for (int i = 0; i < len; i++) { printf("%c", *ptr); // 输出当前字符 ptr++; // 移动指针到下一个字符 } printf("\n"); return 0; } ``` 对于用户自定义输入字符串的情况,请参考以下代码: ```c #include #include int main() { char input[100]; // 用于存放用户输入的字符串,假设最大长度为100 printf("请输入字符串: "); fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,fgets会保留换行符 int len = strlen(input) - 1; // 去掉fgets读取的换行符 char *ptr = input; // 定义指向字符的指针 printf("输入的字符串: %s\n", input); printf("遍历并打印字符数组: "); for (int i = 0; i < len; i++) { printf("%c", *ptr); // 输出当前字符 ptr++; // 移动指针到下一个字符 } printf("\n"); return 0; } ```"> 1. 使用指针倒序显示整数数组内容 ```c // 通过指针逆序打印整数数组 #include
#include #include int main() { int arr[10] = {0}; int n = sizeof(arr) / sizeof(arr[0]); srand(time(NULL)); printf("原始数组: "); for (int i = 0; i < n; i++) { arr[i] = rand() % 100; printf("%5d", arr[i]); } printf("\n"); int *p = arr; // 指针指向数组元素 printf("反转打印数组元素: "); for (int i = n - 1; i >= 0; i--) { printf("%5d", *(p + i)); } printf("\n"); return 0; } ``` 2. 利用指针计算奇数索引数组元素之和 ```c // 使用指针计算奇数索引数组元素之和 #include int main() { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int n = sizeof(arr) / sizeof(arr[0]); printf("数组元素: "); for (int i = 0; i < n; i++) { printf("%3d", arr[i]); // 宽度为3,右对齐 } printf("\n"); printf("数组下标: "); for (int i = 0; i < n; i++) { printf("%3d", i); // 宽度为3,右对齐 } printf("\n"); int sum = 0; int *p = arr; // 声明指向整数的指针 for (int i = 0; i < n; i++) { if (i % 2 != 0) { sum += *(p + i); // 若索引i为奇数,累加对应元素值 } } printf("奇数索引数组元素之和: %d\n", sum); return 0; } ``` 3. 查看不同类型指针在Linux Ubuntu gcc下的字节大小 ```c // 在Linux Ubuntu gcc环境下查看不同类型指针的字节大小 #include #include int main() { printf("int指针大小: %zu bytes\n", sizeof(int *)); printf("char指针大小: %zu bytes\n", sizeof(char *)); printf("float指针大小: %zu bytes\n", sizeof(float *)); printf("double指针大小: %zu bytes\n", sizeof(double *)); return 0; } ``` 请注意,对于现代64位系统(如Linux),`int`、`char`、`float`和`double`指针通常都是8字节。但在某些特定情况下(如32位系统或特定编译环境),可能有所不同。 4. 使用指针遍历并打印字符数组 ```c // 使用指针遍历并打印字符数组 #include #include // 引入strlen函数 int main() { char str[] = "Hello, World"; // 字符串常量 int len = strlen(str); // 获取字符串长度 char *ptr = str; // 定义指向字符的指针 printf("输出字符串: %s\n", str); // 输出原始字符串 printf("遍历并打印字符数组: "); for (int i = 0; i < len; i++) { printf("%c", *ptr); // 输出当前字符 ptr++; // 移动指针到下一个字符 } printf("\n"); return 0; } ``` 对于用户自定义输入字符串的情况,请参考以下代码: ```c #include #include int main() { char input[100]; // 用于存放用户输入的字符串,假设最大长度为100 printf("请输入字符串: "); fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,fgets会保留换行符 int len = strlen(input) - 1; // 去掉fgets读取的换行符 char *ptr = input; // 定义指向字符的指针 printf("输入的字符串: %s\n", input); printf("遍历并打印字符数组: "); for (int i = 0; i < len; i++) { printf("%c", *ptr); // 输出当前字符 ptr++; // 移动指针到下一个字符 } printf("\n"); return 0; } ``` -
在Ubuntu Linux环境下使用Netperf测试硬件网卡速度