




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、?Linux程序设计实验?指导书实验1Linux下常用命令和Vi的使用一、实验内容:Linux的常用根本命令,如ls、cd、mkdir、rmdir、pwd、more等。联机帮助命令man的使用。Vi的根本使用方法。二、实验目的:了解Linux的命令及使用格式。熟悉Linux的常用命令。三、实验步骤:用pwd显示当前工作目录名:pwd;如果当前目录不是root,需改变到root目录:cd/root。用mkdir建立四个目录:mkdir /root/test1;mkdir /root/test2;mkdir /root/test2/abcd;mkdir /mypro。用cd命令从root开始依次进
2、入test1、test2、abcd、mypro目录,并用 pwd验证。cd test1; pwdcd ./test2;pwdcd abcd;pwdcd ././mypro;pwd用cd 命令从mypro目录返回到根目录,并用pwd命令验证。cd /pwd用rmkdir命令删除子目录 abcd。Rmdir /root/test2/abcd分别用ls ls a 和ls-l查看root目录的内容。lsls als -lman 命令:(按PageUp键向上翻页PageDown向下翻页,按q退出)man ls 查看ls的帮助信息。man cp 查看cp的帮助信息。man mkdir 查看mkdir的帮助
3、信息。man rmrm_help 用重定向生成帮助文档文本编辑器vi的使用在终端里输入vi或vim,启动vi按a或i进入vi的插入模式,这时可以在vi里输入文字了,输入如下内容:this is my first file.按esc键进入命令模式,输入:w/home/myfirstfile按回车保存文件,再输入:q按回车,退出vi。用more查看文件myfirstfile的内容:more/home/myfirstfile四、实验注意:命令一般是小写字符串。注意大小写有别。选项通常以减号再加上一个或数个字符表示,用来选择命令的不同操作。同一行可有数个命令,命令间以分号隔开。命令后加上&可使该命令在
4、后台执行。Vi提供三种工作模式:插入模式、命令模式和底行模式。使用者进入vi后,即处在命令模式下,此刻键入任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到插入模式。实验2Linux下C语言程序的编译与调试一、实验内容:用Vi编写一个判断从键盘上输入4个整数,找出其中最大的整数的程序,用gcc/g+编译并观察编译后的结果。用gdb调试该程序。运行生成可执行文件。二、实验目的:练习Vi编辑器来编译C程序。学会使用gcc/g+编译、gdb调试C程序。三、实验步骤在终端里输入vi或vim,启动vi。按a或i进入vi的插入模式,输入以下代码:includeInt main(vio
5、d)Int a,b,c,d,max;Printf(“请输入四个整数:n);Scanf(“%d,%d,%d,%d,&a,&b,&c,&d);If(ab)Max=a;ElseMax=b;If(cmax)Max=c;If(dmax)Max=d;Printf(“四个数中最大的数为:d,max);Return 0;按Esc 键进入命令模式,输入:w/home/lab2.c按回车键保存文件,再输入:q按回车,退出vi。用gcc编译该程序:gcc o lab2 lab2.c ggdb运行刚刚编译的程序:./lab2调试刚刚编译的程序:【cyzlocalhost cyz】$ gdb lab2四、实验分析为了使
6、GDB正常工作,必须使程序在编译时包含调试信息。调试信息里包含程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。GDB利用这些信息使源代码和机器码相关联。所以在编译时用-g选项翻开调试选项。GCC命令的根本用法:gcc options filename-o选项为即将产生的可执行文件指定一个文件名来代替默认的a.out。GDB是一个用来调试C和C+程序的强有力的调试器。它使用户能在程序运行时观察程序的内部结构和内存的使用情况。实验3 文件的操作一、实验内容在Linux环境下编写一段程序实现Linux下的I/O流操作。二、实验目的熟悉程Linux下的I/O流操作,掌握使用基于流的I
7、/O操作实现输入输出的过程。三、实验步骤在终端里输入vi或vim,启动vi。按a或i进入vi的插入模式,输入以下代码:#includeinclude#difine BUF_SIZE 1024Int main(viod)Char bufBUF_SIZE;FILE*source,*backup;If(!(source=fopen(“source.dat,r)printf(“Error in opening file.n);Exit(1);If(!(backup=fopen(“backup.dat,w)printf(“Error in creating file.n);Exit(1);While(f
8、read(buf,sizeof(buf),1,source)=1)If(fwrite(buf,sizeof(buf),1,backup)printf(“Error in writing file.n);Exit(1);If(ferror(source)=0)printf(“Error in reading file.n);Exit(1);If(fclose(source)printf(“Error in close file.n);Exit(1);If(fclose(backup)printf(“Error in close file.n);Exit(1);按ESC键进入命令模式,输入:W/h
9、ome/lab3.c ,按回车保存文件,再输入:q按回车,退出vi。用gcc编译该程序:gcc o lab3 lab3.c编译成功后,当前目录下会产生一个 lab3的文件。运行刚刚编译的程序:./lab3四、实验分析利用函数fopen(),fread(),fwrite(),fclose()来实现简单的文件备份即将一个文件的内容拷贝到另一个文件中去。在linux系统中,文件和设备都被看作是数据流。进行操作之前,必须先将流翻开。可以通过调用库函数fopen()翻开一个流,库函数fopen()的返回值为一个FILE结构指针,此结构中包含对所翻开流进行操作所需的全部信息。当一个流被翻开后,就可以对其执
10、行I/O操作了。当一个流操作完成后,需要执行清空缓冲区、保存数据等操作。将流关闭,可以通过调用函数fclose()来完成。实验4 进程的创立编写一段程序,使用系统调用fork()创立两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每个进程在屏幕上显示一个字符:父进程显示A,子进程分别显示字符B和字符C。修改上述程序,每个进程循环显示一句话。子进程显示daughter及son,父进程显示parent。教学目标:掌握进程的概念,明确进程的含义;了解并发执行的实质。实验5 进程控制用fork()创立一个进程,再调用exec()用新的程序替换该子进程的内容。用wait()来控制进程
11、执行顺序。教学目标:掌握其它创立进程的方法。熟悉进程的睡眠、同步、撤销等进程的控制方法。实验6 管道通信编写程序实现进程的管道通信。用系统调用pipe()建立一管道,两个子进程P1和P2分别向管道各写一句话:child 1 is sending a message!child 2 is sending a message!父进程从管道中读出两个来自子进程的信息并显示要求先接收P1,后接收P2。教学目标:了解管道的概念,熟悉Linux支持的管道通信方式。实验7 信号机制 用fork()创立两个子进程,再用体统调用signal()让父进程捕捉键盘上来的中断信号,捕捉到中断信号后,父进程用系统调用k
12、ill()向两个子进程发出信号,子进程捕捉到信号后分别输出信息后终止。输出信号如下所示:Child process 1 is killed by parent!Child process 2 is killed by parent!父进程等待两个子进程终止后,输出如下信息后终止。Parent process is killed!教学目标:学生通过实验,了解什么是信号,熟悉Linux系统中进程之间软中断通信的根本原理。实验8 消息的发送与接收使用系统调用msgget(),msgsnd(),msgrev(),msgctl()编制一长度为1k的消息发送和接收的程序。教学目标:通过实验,学生应了解什么是消息,并熟悉消息传送的机制。实验9 共享存储区通信编制一长度为1K的共享存储区发送和接收的程序。教学目标:使学生了解和熟悉共享存储区机制实验10 数据库编程1、在My SQL/Oracle中添加一个用户,用户名为myuser,然后用myuser登录到MySQL中,创立一个名为testdb的数据库,然后在testdb数据库中创立一张表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧农业新质生产力专题学习
- ktv安全管理制度范本
- 学校安全生产月活动简报
- 施工吊篮安全使用规范
- 幼儿园食品安全健康教育活动方案及总结
- 生产安全事故应急预案管理办法培训
- 安全生产许可证的办理条件
- 中国煤矿安全生产网官网
- 技术部安全生产责任制
- 学校安全生产工作方案
- 台球助教劳务合同范本
- 泸州老窖“浓香文酿杯”企业文化知识竞赛考试题库大全-下(多选、填空题)
- 招标售后服务方案及服务承诺
- 歇后语大全500条
- 译林版初中教材词汇表(默写版)
- 建筑用真空陶瓷微珠绝热系统应用技术规程
- 老年人夏季常见病预防
- HG-T 20583-2020 钢制化工容器结构设计规范
- 工作场所有害因素职业接触限值-第2部分-物理因素
- 初高中语文衔接教学课件
- 望闻问切四诊在中医糖尿病诊断中的应用
评论
0/150
提交评论