完整word版太原理工大学Linux实验报告.docx
- 文档编号:26024524
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:23
- 大小:778.12KB
完整word版太原理工大学Linux实验报告.docx
《完整word版太原理工大学Linux实验报告.docx》由会员分享,可在线阅读,更多相关《完整word版太原理工大学Linux实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
完整word版太原理工大学Linux实验报告
实验名称
实验一Linux虚拟机的定制安装
实验地点
计算机学院
实验楼308
实验时间
2017。
4。
18
一、实验目的和要求
1.通过对Linux操作系统的定制安装,建立对Linux操作系统的初步认识,为后续实验的进行提供基础平台。
2.掌握Linux操作系统的虚拟机定制安装。
3.熟悉Linux文件目录结构
二、实验内容和原理
实验内容:
利用虚拟机软件定制安装Linux操作系统,熟悉安装过程中各个选项的意义。
实验原理:
虚拟机可以说是一种软件,也可以说是一种技术,它允许用户在一台主机上虚拟出多台计算机,每台虚拟的计算机都可以有自己的硬件及软件配置
三、主要仪器设备
PC机、VMWorkstation、Redhat5。
0
四、操作方法与实验步骤
1.安装VMwareWorkstation,并汉化
2.在VMwareWorkstation当中创建一个新的虚拟机,指定安装包的路径。
3.安装定制RedhatEnterpriseLinux5。
0安装说明:
(1)对软件开发和和网络服务包进行定制.
(2)选择samba服务、nfs服务、tftp服务、Telnet服务和FTP服务
(3)关闭系统防火墙、禁用SELinux服务
(4)手动设置系统分区
五、实验数据记录和处理
(1)点击VMware主界面上的图标“NewVirtualMachine",创建一个新的虚拟机。
(2)在弹出来的对话框中选择“Custom”对虚拟机进行定制安装,然后点击“下一步”
(3)选择OS的名称:
“Linux”,版本:
“RedHatEnterpriseLinux5”,然后点击“下一步”
(4)选择虚拟机在硬盘上的安装位置,然后点击“下一步”
(5)选择CPU的类型是否为双核,然后点击“下一步"
(6)选择虚拟机的虚拟内存大小,若物理内存较大,可适当增加其值,然后点击“下一步"
(7)选择网络联机模式,局域网用户选择桥接模式:
“Usebridgednetworking",然后点击“下一步”
(8)选择“创建一个虚拟硬盘",然后点击“下一步”
(9)选择硬盘类型,PC机一般选择“IDE",服务器一般选择“SCSI”,然后点击“下一步"
(10)选择硬盘类型,PC机一般选择“IDE”,服务器一般选择“SCSI",然后点击“下一步”
(11)选择虚拟硬盘容量,若硬盘空间较大可适当增加其值,然后点击“下一步",根据提示完成操作,并返回虚拟机主界面
(12)在虚拟机主界面点击如图所示的图标,编辑虚拟机设置
(13)选择系统安装文件(ISO)的位置
(14)在虚拟机主界面启动虚拟机
六、实验结果与分析
完成了安装VMwareWorkstation,并汉化,在VMwareWorkstation当中创建一个新的虚拟机,指定安装包的路径,安装定制RedhatEnterpriseLinux5。
0.
七、讨论、心得
本实验通过对Linux操作系统的定制安装,建立对Linux操作系统的初步认识,为后续实验的进行提供基础平台,掌握了Linux操作系统的虚拟机定制安装,熟悉了Linux文件目录的结构,在实验中遇到了一些问题,但是通过网上搜索和同学帮助最终还是完成了。
实验名称
实验二熟悉Linux基本命令和GCC编译器
实验地点
计算机学院
实验楼308
实验时间
2017.4。
18
一、实验目的和要求
1.掌握Linux常用命令
2.学会如何获取命令帮助信息
3.熟练掌握Linux常用命令
4.掌握GCC命令的使用及其常用参数的含义
二、实验内容和原理
实验内容:
系统设置命令、文件及文件夹操作命令、压缩与解压缩命令、自动补全与历史命令、软件的安装与卸载、文件挂载、管道与重定向命令、GCC命令的使用
三、主要仪器设备
PC机、VMWorkstation、Redhat5.0
四、操作方法与实验步骤
1.练习以下常用命令的使用shutdown、reboot、logout、exit、useradd、userdel、su、cd、ls、touch、mkdir、cp、rm、rmdir、mv、more、less、man、du、find、clear、grep、cat、history、tar、unzip、chmod、管道命令|以及重定向命令命令练习步骤如下:
⑴显示当前目录
⑵进入到当前用户的主目录
⑶查看ls的手册
⑷查看当前目录的所有文件,并显示每个文件的详细信息
⑸在根目录下创建test目录
⑹在test目录下创建user1/user2目录结构
⑺在user2下创建文件myfile
⑻将myfile复制到user1下
⑼用tar命令将test打包
⑽将打包好的文件改名为myfile.tar.gz
⑾将myfile.tar.gz移动到home目录下
⑿查找root用户下主目录中使用名为myfile的文件
⒀删除test子目录下的所有文件
⒁利用rmdir删除test
⒂显示系统的时间日期,显示一个日历
⒃查看内存使用情况、显示系统进程
⒄运行cat,利用kill将cat进程杀死
⒅在/var/lib目录下查找所有大小超过1000000B的文件,并以长格式显示
⒆利用rpm查询是否安装了squid软件包,如果已安装则卸载该软件
⒇将squid—2。
6。
STABLE21-3.el5。
i386。
rpm安装
2.举例说明重定向命令<、<〈、〉、〉>的使用
3。
编写一个C的源程序,并用gcc进行编译,练习使用gcc的各个参数,理解每个参数的意义
五、实验数据记录和处理
1.实验中的具体指令如下:
(1)ls
(2)cd/
(3)ls--help
(4)ls-al
(5)mkdir/root/test
(6)cd/root/testmkdiruser1/user2
(7)touchuser1/user2/myfile
(8)cpmyfile/root/test/user1
(9)(10)tarcvzfmyfile.tar。
gz/root/test
(11)mvmyfile。
tar。
gz/home
(12)find/—namemyfile
(13)rm—r/root/test
(14)rmdir/root/test
(15)显示系统时间date显示日历cal
(16)psaux
(17)cat1.txt
psaux(查看cat的进程号,假设为x)kill-sSIGKILLx
(18)find/var/lib/-size+1000000c
(19)rpm-qsquid
(20)rpm—ivhsquid—2。
6.STABLE6—4。
el5。
i386。
rpm
2.cat>a。
txt(键盘输入的内容保存在a。
txt中,覆盖之前的内容)
cat〉b。
txt txt中的内容输入到文件b.txt中) grep0b。 txt〈〈a.txt(把a.txt的内容输入到b。 txt中) 3.gcchello.c(程序文件)—ohello(目标执行文件) —ofile: 指定生成的可执行文件名为file,若省略次选项,系统给出默认文件为a。 out? —c: 只进行预处理、编译,不生成可执行文件。 即: 编译器只是把.c的源文件生成。 o的目标文件.? —g: 产生调试工具(GNU的GDB)所必要的符号信息,要想对编译出的程序进行调试,必须加入此选项 六、实验结果与分析 通过一系列的Linux命令来熟悉linux,系统设置命令、文件及文件夹操作命令、压缩与解压缩命令、自动补全与历史命令、软件的安装与卸载、文件挂载、管道与重定向命令、GCC命令的使用. 七、讨论、心得 通过本实验,对之前学过的Linux基本操作命令进行了深化了解,包括系统设置命令、文件及文件夹操作命令、压缩与解压缩命令、自动补全与历史命令、软件的安装与卸载、文件挂载、管道与重定向命令、GCC命令的使用,在实验当中有些问题,铜鼓查找书籍进行了深入的了解,这些命令都是基础,需勤加练习. 实验名称 实验三VI编辑器的使用 实验地点 计算机学院 实验楼308 实验时间 2017。 4。 18 一、实验目的和要求 1.熟练掌握VI编辑器的三种工作模式 2。 掌握Vi编辑器每种模式下的命令 二、实验内容和原理 利用Vi编辑器完成文本的编辑 三、主要仪器设备 PC机、VMWorkstation、Redhat5。 0 四、操作方法与实验步骤 ⑴在/root目录下建立一个名为vi的目录. ⑵进入vi目录 ⑶将文件/etc/inittab复制到vi目录下 ⑷使用vi打开vi目录下的inittab文件 ⑸设定行号,指出id: 5: initdefault所在行号 ⑹将光标移动到该行 ⑺复制该行内容 ⑻将光标移动到最后一行行首 ⑼粘贴复制行的内容 ⑽撤销上一步的所做动作 ⑾将光标移动到最后一行行尾 ⑿粘贴复制行的内容 ⒀光标移动到”si: : sysinit: /etc/rc。 d/rc。 sysinit” ⒁删除该行 ⒂存盘但不退出 ⒃将光标移动到首行 ⒄插入模式下输入“Hello,thisisviworld” ⒅返回命令行模式 ⒆向下查找字符串“0: wait” ⒇再向上查找字符串“halt”,强制退出vi,不存盘 五、实验数据记录和处理 对应的命令如下: 1。 mkdir/root/vi 2.cd/root/vi 3.cp/etc/inittab/root/vi/ 4.viinittab 5.在底行模式下: setnu(设定行号) 在命令行模式下键入[ESC]退入到命令行模式/id: 5: initdefault(查找内容) 6。 enter 7。 yy 8。 G 9。 p 10。 u 11。 Gshrift+4 12。 p 13.命令行模式下: /si: : sysinit: /etc/rc.d/rc。 sysinit 14.dd 15。 底行模式下: : w 16。 1+G 17。 插入模式下输入: hello,thisisviword 18.键入[ESC]退入到命令行模式 19./0: wait 20.? halt 底行模式下: : q! 六、实验结果与分析 利用Vi编辑器完成文本的编辑和一系列常用的指令,包括三种编辑模式和三种模式之间的切换,以及各种模式下的命令. 通常vi编辑的流程如下: 1.vi文件名 2.键入i进入插入模式 3.编辑 4。 键入[ESC]退入到命令行模式 5。 键入: wq! 保存退出 七、讨论、心得 通过本实验熟练并掌握了VI编辑器的三种工作模式,掌握了Vi编辑器每种模式下的命令,利用vi编辑器来写一些程序很方便,只需要最后通过编译就可以直接运行,这是一个Linux比Windows系统操作下执行C语言程序方便之处吧,在实验过程,还有一些老师没有讲过的命令,通过上网XX还是解决了。 实验名称 实验四Shell编程和Makefile文件 实验地点 计算机学院 实验楼308 实验时间 2017。 4.20 一、实验目的和要求 1.了解什么是脚本 2.掌握shell编程方法 3。 掌握makefile的编写规则 二、实验内容和原理 1编写一个Shell脚本,要求: 显示当前目录的所有内容,并统计可执行文件(.sh)的数量,将统计结果输入到指定的文件当中; 2编写一个Shell脚本, 要求: 2。 1在屏幕上显示一行提示信息 2。 2读入一行命令 2.3判断此命令是否为“exit",若是则退出 2.4如果不是,分析并执行这行命令 3.假定一个程序由以下5个文件组成,其源代码如下,请编写一个Makefile文件,并运行。 文件1: main。 c #include”mytool1。 h” #include"mytool2.h” intmain(){ Mytool1_print(”hellomytool1! ”); mytool2_print("hellomytool2! "); return0;} 文件2: mytool1.c #include”mytool1.h” #include〈stdio。 h〉 voidmytool1_print(char*print_str){ printf("Thisismytool1print: %s”,print_str);} 文件3: mytool1。 h #ifndef_MYTOOL_1_H #define_MYTOOL_1_H voidmytool1_print(char*print_str); #endif 文件4: mytool2.c #include”mytool2.h" #include〈stdio.h> voidmytool2_print(char*print_str){ printf(”Thisismytool2print: %s",print_str);} 文件5: mytool2.h #ifndef_MYTOOL_2_H #define_MYTOOL_2_H voidmytool2_print(char*print_str); #endif 三、主要仪器设备 PC机、VMWorkstation、Redhat5.0 四、操作方法与实验步骤 对应的具体程序代码如下: 1。 #! /bin/bash ls*sh find.—name”*.sh”|wc-l>〉1。 txt 2.#! /bin/bash echo"Enteraorder! " readname $name 3。 appexam: main.omytool1.omytool2.o $(CC)-o$@$^ main.o: main。 cmytool1。 hmytool2.h mytool1。 o: mytool1。 cmytool1。 h mytool2.o: mytool2。 cmytool2。 h clean: rm-f*.o 五、实验数据记录和处理 对应的实验结果如下(截图): 1.在运行了1.sh这个脚本之后,会执行脚本中的命令。 2。 在运行之后,输入的内容会被2.sh脚本读入并以命令的形式输出 六、实验结果与分析 七、讨论、心得 通过本实验了解了什么是脚本,Shell就是UNIX提供用户的使用界面,Shell为用户提供了输入命令和参数并可得到命令执行结果的环境,Shell本身并不神秘,只是一个普通的应用程序,用户将多个命令按语法规则写在文本文件中,该文本文件就是Shell脚本。 掌握了shell编程方法,#! 具有特定的含义,表示Shell脚本解释器的版本,#开始表示注释,定义变量var,并复制,命令恶臭显示变量var的值.掌握了makefile的编写规则。 有个要注意的地方就是要在sh文件执行之前给sh文件增加可执行权,具体命令为: $chomdu+xxx.sh 实验名称 实验五网络编程-设计并发服务器 实验地点 计算机学院 实验楼308 实验时间 2017。 4.20 一、实验目的和要求 1.了解TCP/IP协议 2。 掌握Socket编程,熟悉基于TCP和UDP的传输模型 3.掌握多线程编程 4。 掌握基于TCP的并发服务器设计 二、实验内容和原理 实验内容: 编写C程序,利用多线程构建TCP并发服务器,并实现客户端和服务器的传输(多个并发用户同时访问服务器) 实验原理: TCP的传输模型和线程的并发执行 三、主要仪器设备 PC机、VMWorkstation、Redhat5.0 四、操作方法与实验步骤 1.线程并发客户端 #include〈netinet/in.h> //forsockaddr_in #include h〉 //forsocket #include〈sys/socket.h> //forsocket #include〈stdio.h> //forprintf #include #include h> //forbzero #include #include〈sys/errno。 h> //forerrno #defineHELLO_WORLD_SERVER_PORT 6666 #defineBUFFER_SIZE1024 char*server_IP=NULL; void*talk_to_server(void*thread_num) { //设置一个socket地址结构client_addr,代表客户机internet地址,端口 structsockaddr_inclient_addr; bzero(&client_addr,sizeof(client_addr));//把一段内存区的内容全部设置为0 client_addr。 sin_family=AF_INET; //internet协议族 client_addr。 sin_addr.s_addr=htons(INADDR_ANY);//INADDR_ANY表示自动获取本机地址 client_addr。 sin_port=htons(0); //0表示让系统自动分配一个空闲端口 //创建用于internet的流协议(TCP)socket,用client_socket代表客户机socket intclient_socket=socket(AF_INET,SOCK_STREAM,0); if(client_socket<0) { printf("CreateSocketFailed! /n”); exit (1); } //把客户机的socket和客户机的socket地址结构联系起来 if(bind(client_socket,(structsockaddr*)&client_addr,sizeof(client_addr))) { printf(”ClientBindPortFailed! /n”); exit (1); } //设置一个socket地址结构server_addr,代表服务器的internet地址,端口 structsockaddr_inserver_addr; bzero(&server_addr,sizeof(server_addr)); server_addr。 sin_family=AF_INET; if(inet_aton(server_IP,&server_addr.sin_addr)==0)//服务器的IP地址来自程序的参数 { printf("ServerIPAddressError! /n”); exit (1); } server_addr.sin_port=htons(HELLO_WORLD_SERVER_PORT); socklen_tserver_addr_length=sizeof(server_addr); //向服务器发起连接,连接成功后client_socket代表了客户机和服务器的一个socket连接 if(connect(client_socket,(structsockaddr*)&server_addr,server_addr_length)〈0) { printf("CanNotConnectTo%s! /n",server_IP); exit (1); } charbuffer[BUFFER_SIZE]; bzero(buffer,BUFFER_SIZE); //从服务器接收数据到buffer中 intlength=recv(client_socket,buffer,BUFFER_SIZE,0); if(length<0) { printf("RecieveDataFromServer%sFailed! /n",server_IP); exit (1); } printf("FromServer%s: /t%s”,server_IP,buffer); bzero(buffer,BUFFER_SIZE); sprintf(buffer,”Hello,World! FromClientThreadNUM: /t%d/n”,(int)thread_num); //向服务器发送buffer中的数据 send(client_socket,buffer,BUFFER_SIZE,0); //关闭socket close(client_socket); pthread_exit(NULL); } intmain(intargc,char**argv) { if(argc! =2) { printf("Usage: 。 /%sServerIPAddress/n",argv[0]); exit (1); } server_IP=argv[1]; pthread_tchild_thread; pthread_attr_tchild_thread_attr; pthread_attr_init(&child_thread_attr); pthr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 太原 理工大学 Linux 实验 报告