实验目的
了解Linux的文本用户界面,掌握用户的注册、登录及注销。
熟悉 vi 编辑器的基本使用方法。
学会在Linux上开发C 程序的一般方法。
实验内容
实验1.1 用户的注册、登录及注销
实验1.2 开发简单的C程序
实验主要步骤
实验1.1 用户的注册、登录及注销
Step1. 启动Linux
①启动VMware,在VMware的主窗口启动Linux;
②在用户界面中用超级用户账号登录。
用户名:root 密码: xxxxxxx
③在桌面上打开终端shell界面;
Step2. 新用户注册
①用groupadd命令建立两个用户组:group1和group2;
②用useradd命令和passwd命令建立4个新的用户账号,其中一个是你本人的账号! 如:fyl、wang、zhang、student,初始密码可均设为“654321”,并指定前2个账号为group1组成员,后2个账号为group2组成员;
③用 vi 编辑器打开系统配置文件“/etc/passwd”,查看新账号是否已生成以及他们各自的用户标识号UID。
④用 vi 编辑器打开系统配置文件“/etc/group”,查看group1组和group2组以及它们的组标识号GID;新的用户账号是否已加入到组中?
⑤用usermod命令将新用户账号添加到各自的组中;
⑥再打开/etc/group文件,确定新的用户账号已加入到各自的组中。
Step3. 多用户登录
①用Ctrl+Alt+F2切换到虚拟控制台tty2,用你的账号登录,并用passwd命令修改初始密码(记住!)。
②再切换到tty3上,用另一普通用户账号登录并修改其初始密码。
③使用who命令查看本系统当前有哪些在线用户,只需在命令提示符后输入命令行
who ↙
④在你的账号下用mkdir命令建立一个目录:ostest。
Step4. 注销与关机
- 普通用户用logout命令注销;
②超级用户用shutdown命令注销并关机。
实验1.2 开发简单的C程序
①启动Linux,用你的普通账号登录;
②进入子目录ostest;
③用vi 编辑器编辑一个简单的C源程序test1_1.c,参考源代码如下:
#include <stdio.h>
main()
{
int i, sum=0;
for( i=1; i<=10; i++)
sum+=i;
printf(”sum=%d\n”, sum);
}
④用命令“gcc test1_1.c”对test1_1.c进行编译;
⑤若成功,则不会有任何信息显示;否则作适当修改,直到成功;
⑥执行test1_1对应的可执行程序;
⑦修改test1_1.c:求1到100之和。并将新程序命名为test1_2.c;
⑧编译test1_2.c,要求其可执行程序的名字为test1_2;
⑨执行test1_2。
⑩注销。
参考步骤
1.启动Linux,使用root账户登录,如图1所示。

2.打开shell程序,界面如图2所示。

3.完成group1,group2组的新建;添加4个新用户和设置密码;将4个新用户按指定要求添加到对应的组内,具体命令如图3所示。

4.使用vi /etc/passwd
查看用户信息,如图4所示。

5.使用 vi /etc/group
查看组信息,如图5所示。

6.使用tty2控制台登录自己账号并修改密码:因控制台视图不可以正确显示中文,因此控制台中修改密码的信息提示参见图6,修改密码的过程如图7所示。


7.切换到tty3控制台登录另一个用户,修改密码的过程与步骤6相同,使用who命令查看在线用户,如图8所示。

8.在自己名称账户下建立ostest目录,如图9所示。

9.普通用户使用exit(kali系统)注销用户和root用户使用shutdown关机,命令如图10所示。

10.在ostest目录下创建并编译test1_1.c文件,命令如图11所示;test1_1.c文件内容如图12所示。


11.编译完成后,会在同目录下生成a.out文件。执行该文件可查看显示结果,如图13所示。

12.复制test1_1文件,新文件为test1_2.c,编辑文件修改程序功能为求1-100和,命令内容如图15所示。完成后使用gcc -o参数指定可执行程序名字为test1_2,运行该输出文件,获得输出结果,如图14所示。


怎么样理解Linux系统的多用户和多任务特点?有哪些优点?(下述内容来自于New Bing)
Linux系统的多用户和多任务特点是指Linux可以同时支持多个用户对同一台计算机进行访问,且每个用户能够同时运行多个任务。这些特点有以下优点:
开放性:Linux遵守GNU规范,代码共享,易于实现系统的裁剪和客制化的开发。
安全性:Linux提供了不同用户之间的权限管理,防止恶意操作或病毒攻击。
稳定性:Linux内核负责程序之间的调度和资源分配,保证了系统的高效运行。
兼容性:Linux支持多种编程语言和硬件平台,可以用于服务器、桌面、嵌入式设备等不同领域。