实验1 熟悉Linux环境(A26)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并将其显示在屏幕上。
• 3. 末行命令模式
•
在编辑命令模式下输入冒号“:”便进入末行命令模式,它是编辑命令
模式的特例,主要用于输入保存和退出命令。与编辑命令模式下的隐式命令
不同的是,末行命令是显式命令,且按回车键结束。末行命令执行完后,vi
自动回到编辑命令模式。Fra bibliotek~ 29 ~
三种模式之间的切换:
• ■编辑命令模式-→文本输入模式:
•
从键盘读入2个实数,依次赋给实型变量x和y,输入时两个实数之间用
逗号分隔。
• 3)标准输出函数
•
C的标准输出函数主要有2个:putchar()和printf()
•
①格式输出函数printf()
•
语法:printf(格式控制字符串,变量名表)
~ 18 ~
范例
• printf(“%d”, a);
•
输出整型变量a 的值
器(相当于windows中的笔记本),而且vi只有命令,没有菜单!
~ 26 ~
•
vim 是vi的升级版 ,完全兼容vi。vim 不但可以用不同颜色显示文字
内容,还能够进行诸如 shell 脚本、 C程序等程序的编辑,并具有许多的语
法检查功能,能自动进行debug(程序调试),因此你可以将 vim 视为一
• printf(“min=%d, max=%d”, a,b);
•
格式控制字符串中除了格式引导符和格式控制符外,其他内容都原
样输出。在该例中,假定整型变量a和b的当前值分别为3和99,则该语句
的输出结果为:
•
min=3, max=99
• printf(“%f.2”, x);
•
输出实型变量x的值,且保留2位小数。
2021年7月19日
卢鹏老师主讲
~ 10 ~
2021年7月19日
卢鹏老师主讲
~ 11 ~
●实验1.2 开发简单的C程序
①启动Linux,用你的普通账号登录; ②进入子目录ostest; ③用vi 编辑器编辑一个简单的C源程序test1_1.c, 参考源代码如下: #include <stdio.h> main() {
•
本课程的实验采用C语言编程,C编译器使用Linux默认的gcc。
•
~ 15 ~
C语言的标准输入输出函数
•
C是C++的前身,与C++不同的是,C不是面向对象的而是面向过程的。
除了面向对象的部分外,C与C++主要的不同处在输入输出部分。
• 1) 标准输入输出头文件
•
C的标准输入输出库函数是在头文件stdio.h中定义的,stdio.h相当于
~ 13 ~
知识点讲解: C程序开发
◆C语言的标准输入输出函数 ◆gcc编译器使用初步 ◆C 程序的执行
~ 14 ~
•
Linux与C语言的关系十分密切。世界上第一个用高级语言写的操作系
统是UNIX,它用的是C语言。Linux是UNIX的派生系统,其90%以上的代码
也是用C写的,此外,Linux的许多实用程序大多是用C开发的。
~ 31 ~
5.2 使用vi的基本方法
• (1) 启动vi编辑器
•
在Shell命令提示符后输入:
•
vi 文件名
• 如果所输入的文件名已经存在,vi自动打开此文件编辑,否则将建立一 个新文件;然后进入vi窗口。
•
■ 建立并编辑一个新文件。例如:
•
vi test1
• 执行该命令,将弹出vi窗口(图)。各行开头都有一个波浪号,表示该 行为空行。进入vi后就处于编辑命令模式,等待用户输入命令,如 i 或 a。
•
键入文本输入命令(如a、i、o)。
• ■文本输入模式-→编辑命令模式:按Esc键。
• ■编辑命令模式-→末行模式:键入冒号。
~ 30 ~
vi/vim工作模式
vi filename 进入
输入 i a o
编辑命令模式
按Esc键 输入:
显式命令按 回车键结束
文本输入模式
末行命令模式
输入 wq
退出vi
q!
/etc/group示例
~7~
Step3. 多用户登录
①用Ctrl+Alt+F2切换到虚拟控制台tty2,用你的账号登录(alt+F1返回), 并用passwd命令修改初始密码(记住!)。
②再切换到tty3上,用另一普通用户账号登录并修改其初始密码。 ③使用who命令查看本系统当前有哪些在线用户,只需在命令提示符后输 入命令行 who ↙ ④在你的账号下用mkdir命令建立一个目录:ostest。
•
$gcc -c demo2.c //编译,生成目标程序demo2.o
•
$gcc -o demo demo1.o demo2.o
•
//编译并连接demo1.o和demo2.o,生成可执行程序demo。
• 【注意】
•
①gcc生成的demo1.o、demo2.o及demo均在当前目录下。
•
②demo1.o和demo2.o中只能有一个且必须有一个含有main函数。
~ 32 ~
~ 33 ~
vi 编辑器窗口——新文件
~ 34 ~
•
■ 编辑一个已存在文件
•
例如,编辑配置文件man.config
•
vi /etc/man.config
•
•
范例:
•
scanf(“%d”, &a);
•
从键盘读入一个十进整数,赋给整型变量a。
•
其中,%是格式控制引导符,后跟一个格式控制符,它必须与
输入变量a匹配;输入变量名前必须有取地址符& 。
•
常用格式控制符有:
•
d十进整数;f单精度实数;c字符。
~ 17 ~
•
scanf(“%f, %f”, &x, &y);
• [root@localhost ~]# groupadd newgroup • [root@localhost ~]# useradd newuser • [root@localhost ~]# passwd newuser
• [wang@localhost ~]$ mkdir ostest • [root@localhost ~]# usermod -aG newgroup newuser • vi /etc/passwd
C++的iostream.h。
• 2)标准输入函数
•
C的标准输入函数主要有2个:getchar()和scanf()。
~ 16 ~
•
①字符输入函数 getchar()
•
一般用法:c=getchar()
• 其中,c必须是已定义的字符型变量。
•
②格式输入函数scanf()
•
语法:scanf(格式控制字符串,变量名表)
②在用户界面中用超级用户账号登录。
用户名:root
密码: xxxxxxx
如果进入的是系统默认的图形用户界面,则执行③~⑤,将用户 界面修改成文本用户界面。
③在桌面上打开终端shell界面;
~3~
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;新的用户账号是否已加入到组中?
~4~
⑤用usermod命令将新用户账号添加到各自的组中; ⑥再打开/etc/group文件,确定新的用户账号已加入到各 自的组中。 usermod -aG usertest test
~5~
注释
UID 密码
GID
主目录
shell
账号
/etc/passwd示例
~6~
组名 组密码
GID
组成员的账号
选项是-c和-o。
•
-c 功能:只进行编译或汇编,而不进行连接,生成与源程序同名的.o
文件,即目标(object)文件。可用于不含main的子程序文件。
•
-o 可执行程序名 功能:编译并连接,生成指定名字的的可执行程序。
~ 21 ~
范例
•
$gcc -c demo1.c //编译,生成目标程序demo1.o
int i, sum=0; for( i=1; i<=10; i++)
sum+=i; printf(”sum=%d\n”, sum); }
~ 12 ~
④用命令“gcc test1_1.c”对test1_1.c进行编译; ⑤若成功,则不会有任何信息显示;否则作适当修改, 直到成功; ⑥执行test1_1对应的可执行程序; ⑦修改test1_1.c:求1到100之和。并将新程序命名为 test1_2.c; ⑧编译test1_2.c,要求其可执行程序的名字为test1_2; ⑨执行test1_2。 ⑩注销。
• printf(“Goodbye!\n”);
•
输出字符串Goodbye!,并换行。\n是特殊的转义字符,表示换行。
•
~ 19 ~
gcc编译器使用初步
•
gcc(GNU C编译器)是Linux默认的C编译器,它是一个全功能的
ANSI C兼容编译器。
•
•
安装系统后若调用gcc编译时出现编译错误,则可能是因为没有安装
~8~
Step4. 注销与关机
①普通用户用logout命令注销; ②超级用户用shutdown命令注销并关机。
• Ifup eth0 •
~9~
本实验主要命令:
• [root@localhost ~]# groupadd group1 • [root@localhost ~]# useradd fyl • [root@localhost ~]# gpasswd -a fyl group1 • [root@localhost ~]# groupadd newgroup
gcc。安装gcc的命令如下:
•
#sudo apt-get install build-essential
•
yun –y install gcc
•
●gcc命令的使用语法:
•
gcc [选项] 源程序名
• ./a.out
•
~ 20 ~
• ●gcc命令的选项
•
gcc的选项有许多,是Linux中选项最多和最为复杂的命令。最常用的
知识点讲解二: vim/vi 编辑器
~ 25 ~
•
vi(visual interface)是UNIX和Linux都支持的默认的文本编辑器。
•
vi 是个功能齐全的全屏幕文本编辑器,可以执行输入、插入、删除、
查找、替换等各种文本编辑操作。但是vi不是一个排版软件,它不像Office
Word那样可以对字体、格式、段落等属性进行编排,它只是一个文本编辑
•
③如果不使用选项-o,gcc将在当前目录下默认生成名为a.out的可执
行程序,并覆盖目录中原有的a.out程序。
~ 22 ~
• $ gcc demo.c
•
编译当前目录下的源程序demo.c,并在当前目录下生成名为a.out的可
执行程序。
• $ gcc –o demo demo.c
•
编译当前目录下的源程序demo.c,并在当前目录下生成可执行程序
种合法的 vi 编辑命令,此时从键盘上输入的任何字符都被当作编辑命令来
解释。需注意的是,命令模式的命令是隐式命令,即所输入的命令并不在
屏幕上显示出来,若输入的字符不是合法的 vi 命令,vi 会响铃提示用户。
~ 28 ~
• 2. 文本输入模式
•
在该模式下,用户输入的任何字符都被 vi 当作文件内容保存起来,
demo.exe。
~ 23 ~
C 程序的执行
•
形式1:./a.out
•
执行当前目录下的C程序a.out
•
形式2:./demo
•
执行当前目录下的C程序demo.exe
•
形式3:cprogram/demo
•
执行当前目录的子目录cprogram下的C程序demo.exe
~ 24 ~
只有命令,没有菜单的 文本编辑器
种程序编辑器!此外,vim还能够对Linux的一些基础配置文件进行语法检
查。各种较新版本的UNIX以及几乎所有的Linux发行版都已把vi升级为vim
了。
~ 27 ~
vi 的工作模式
•
vi有三种基本工作模式:编辑命令模式、文本输入模式和末行命令
模式。
• 1. 编辑命令模式
•
这是进入 vi 编辑器时的默认工作模式。在该模式下用户可以输入各
操作系统实验 一
熟悉Linux环境
操作系统实验
~1~
●实验目的
1. 了解Linux的文本用户界面,掌握用户的注册、登录及注销。 2. 熟悉 vi 编辑器的基本使用方法。 3. 学会在Linux上开发C 程序的一般方法。
~2~
●实验1.1 用户的注册、登录及注销
Step1. 启动Linux
①启动VMware,在VMware的主窗口启动Linux;