linux鸡兔同笼实验报告
linux基本操作 实验报告
linux基本操作实验报告Linux基本操作实验报告一、引言Linux操作系统是一种开源的、免费的操作系统,具有稳定性和安全性高、灵活性强等特点,被广泛应用于服务器、嵌入式系统等领域。
本实验报告旨在介绍Linux基本操作的实验过程和所获得的实验结果。
二、实验环境本次实验使用的是Ubuntu 20.04 LTS版本的Linux操作系统。
实验所需的软件工具包括终端、文本编辑器等。
三、实验内容1. 文件和目录操作在Linux中,文件和目录操作是最基本的操作之一。
通过实验,我们学习了如何创建目录、删除目录、查看目录内容等。
通过命令行操作,我们可以轻松地完成这些任务。
2. 文件权限管理Linux操作系统具有严格的文件权限管理机制,通过实验我们了解了如何修改文件权限、查看文件权限等操作。
这些操作可以保护文件的安全性,防止未经授权的访问。
3. 用户和组管理Linux操作系统支持多用户和多组的管理,通过实验我们学习了如何创建用户、删除用户、修改用户密码等操作。
同时,我们还了解了如何创建组、添加用户到组等操作。
4. 进程管理Linux操作系统是一个多任务的操作系统,通过实验我们学习了如何查看系统中运行的进程、杀死进程等操作。
这些操作可以帮助我们更好地管理系统资源。
5. 网络配置Linux操作系统支持网络配置,通过实验我们学习了如何配置IP地址、查看网络连接状态等操作。
这些操作对于服务器和网络设备的配置非常重要。
四、实验结果通过实验,我们成功地完成了Linux基本操作的实验任务。
我们掌握了文件和目录操作、文件权限管理、用户和组管理、进程管理、网络配置等基本操作。
五、实验心得通过本次实验,我深刻体会到了Linux操作系统的强大和灵活性。
相比于其他操作系统,Linux操作系统具有更多的自由度和可定制性,适用于各种不同的应用场景。
通过实验,我不仅学会了基本的Linux操作命令,还了解了Linux操作系统的一些原理和机制。
《linux操作系统实训》总结报告
《linux操作系统实训》总结报告《linux操作系统实训》总结报告班4 组姓名赵笑笑、何勇、王儒霖、宋泽琛、杨浩全文结束》》年12月2日目录一、分组计划及评分表2二、实训总结报告:4(一)linux操作系统安装与基本配置4(二)配置LINUX与windows共享资源7(三)配置WEB服务器,发布网站12(四)配置FTP服务器,上传资料19(五)配置Webmin服务器33(六)分析与总结(实训过程遇到的问题、解决方法、收获体会)40一、分组计划及评分表分组准备及评分表班级60935组长赵笑笑项目小组编号4一、项目名称:二、项目小组的组成(任务分配、根据组员的表现确定其个人系数):编号姓名学号在项目小组中的任务个人贡献系数(0、0 –1、0)1赵笑笑配置WEB服务器,制作一个简单的静态网页展示小组风貌及实训情况并发布到web服务器上2何勇配置实现linux与windows资源共享3王儒霖配置FTP服务器,将小组的相关学习资料发布到网上供大家分享4宋泽琛组建LINUX局域网,在服务器上安装配置LINUX操作系统5杨浩在客户端,安装windows xp操作系统6二、实训总结报告:(一)linux操作系统安装与基本配置一、实验目的:1、熟悉和掌握Red Hat Linux9、0操作系统的安装与配置;2、掌握Linux网络配置命令的功能和使用。
二、实验内容:1、利用Vmware6、0虚拟机来安装与配置Red Hat Linux9;2、 Linux系统下网络配置和连接。
三、实验步骤:1、配置vmware6、0虚拟机:1)启动vmware虚拟机2)单击“文件>CD-ROM>CD-ROM>网络设备控制)。
重复上述过程,实现Linux虚拟机和Windows系统主机的网络连接。
写出详细实验过程,包括命令和IP地址。
四、思考题:1)Linux有几种安装方法?2)什么是主分区?什么是扩展分区?什么是逻辑分区?这些分区在Linux中如何表示?3)怎样使用Disk Druid 工具建立磁盘分区?说明过程。
Linux 实验报告
Linux程序设计实验报告姓名:杨帆班级:计1242学号: 121842284专业:计算机科学与技术指导老师:赵帼英实验一 Linux系统安装与启动(选做实验)一、实验目的(通过实践及查阅资料完成如下实验)1.掌握虚拟机的配置过程。
2.掌握Linux系统的安装过程和简单配置方法。
3.掌握与Linux相关的多操作系统的安装方法。
4.掌握Linux系统的启动、关闭步骤。
5.了解Linux文件系统和目录结构。
二、实验内容1.安装虚拟机软件(如VMware、Virtualbox)。
2.在虚拟机软件中安装Linux操作系统(如Fedora、Ubuntu、redhat等)。
3.配置Linux系统运行环境。
4.正确地启动、关闭系统。
三、实验步骤1 .安装虚拟机软件(VMware Workstation 7.0) 。
2.在虚拟机软件中新建Linux虚拟机2.1设置内存大小(建议大于256MB)2.2设置虚拟硬盘大小(建议大于8GB)2.3设置虚拟光驱(虚拟方式,镜像文件)2.4设置网络连接模式(建议采用桥接方式)2.5设置共享目录(建议英文目录名)1.在Linux虚拟机中安装Linux操作系统(fedora10 )。
3.1选择安装界面3.2检测安装截介质(建议跳过)3.3安装过程中的语言、键盘选择3.4磁盘分区(采用自动分区,总大小与2.2相匹配)3.5引导程序选择(采用GRUB)3.6注意事项(禁用SELinux)2.通过相关命令实现对操作系统的登录、退出与关机3.使用文件浏览器査看Linux操作系统目录结构四、实验思考题1.举例说明Linux操作系统不同目录下文件的主要作用。
2.列出你发现的Linux与Windows操作系统区别。
3.列出决定文本界面及图形界面显示的关键文件,并说明设置的关键。
4.列出你所能想到的虚拟机软件的用途。
实验结论:实验二:linux基本命令(必做实验)一、实验目的、要求(请在操作后附实验结果)1.熟悉Linux操作环境。
linux实验报告
目录实验一Linux基本操作一、实验目的1、掌握linux操作系统的登录与其他基本口令2、掌握linux操作系统的基本命令二、实验内容1、linux命令的格式2、Linux命令的输入、修改、执行、分类、联机帮助3、Linux文件操作三、实验环境安装有Fedora操作平台的计算机一台四、实验过程与结果分析一、linux基本操作由于实验中我们使用的不是root权限,所以对于一些用户建立,关机等都没有相应的权限。
1)登录1.控制台登录提供用户名与密码方可登录2.远程登录这部分由于实验环境所限为进行练习2)修改口令Password pass3)退出4)关机与重启关机:shutdown now重启:reboot二、linux命令这部分主要是练习主要的命令格式(命令格式为:命令名选项一选项二…参数一参数二… )命令的输入与修改,命令的执行等等,这些操作也都及其简单。
主要是用以下几个命令1)$who$who –q /*显示登录用户名和用户数*/$who am I /*显示当前用户和登录时间*/2)echo命令:$ echo Hello! */显示字符串中的参数字符串/*-n /*输出字符串后不换行*/3)data命令用法示例:$date …+Today is %D,now is %r‟ /*显示今天的日期,和现在的时间*/$date …%B %d,%Y‟ /*显示月日年*/4)cal /*显示当年当月的日历*/三、文件操作Linux文件通常是由字母、数字、“.”、“_”和“-”字符组成。
在对大量文件进行操作时可以使用通配符。
个人觉得文件的通配符非常的重要,使用起来及其方便,主要的通配符有以下几种:?:匹配任意单个字符* :匹配0或多个任意字符[ ]:匹配方括号中列出的字符集中的任意单个字符集例如:输出所有以.c结尾的文件$ echo *.c对文件的操作主要有创建新文件,对文件权限的操作,文件的转移等等,命令操作如下所示:1)文件的创建1.cat > newfile2.vi newfile2)文件的权限文件主要有权限有读权限、写权限、执行权限、无权限四种3) 常用文件操作的命令1.文件显示:cat 、more、less2.文件复制、删除和移动cp、rm、mv3.文件内容的统计和排序wc、sort4.改变文件的存取权限chmod5.改变文件的时间标签touch6.设置文件掩码umask7.文件查找、搜索find、grep四、目录操作目录操作是本章最重要的内容,它结合文件操作,用户必须熟练使用在各种目录下进行文件操作。
linux操作系统内核实验报告
linux操作系统内核实验报告篇一:linux操作系统实验报告LINUX操作系统实验报告姓名班级学号指导教师XX 年 05月 16 日实验一在LINUX下获取帮助、Shell实用功能实验目的:1、掌握字符界面下关机及重启的命令。
2、掌握LINUX下获取帮助信息的命令:man、help。
3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替换与别名,管道及输入输出重定向。
实验内容:1、使用shutdown命令设定在30分钟之后关闭计算机。
2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。
3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。
4、使用管道方式分页显示/var目录下的内容。
5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。
实验步骤及结果:1. 用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入命令Shutdown -h 302、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。
查看目录下的内容,只要在终端输入命令即可。
取消更改的名称用命令unalias命令:在命令后输入要取消的名称,再输入名称。
3.输入命令将文件内容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入内容为word。
步骤与输入内容HELLO一样,然后用命令显示文件的全部内容。
4.使用命令ls /etc显示/etc目录下的内容,命令是分页显示。
“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。
5实验二文件和目录操作命令实验目的:1、掌握LINUX下文件和目录的操作命令,如pwd、cd、ls、touch、mkdir、rmdir、cp、mv、rm等。
linux实验报告(2)
Linux实验报告黄芳恺姓名班级软件工程114学号8指导教师阮越目录实验一 Linux基本命令的使用实验二简单Shell程序设计实验三 Linux下简单C程序设计与文件操作实验四 Linux下进程操作与进程间通信实验五 Linux线程的使用实验六 Linux进程间的IPC实验七 Linux下访问Mysql数据库实验八 Linux下网络编程练习题:grep、bash、生产者消费者实验一 Linux基本命令的使用1、实验目的学习和掌握Linux的基本命令。
2、实验内容和步骤步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。
步骤 2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。
步骤3:使用pwd命令察看当前的工作目录,然后用ls命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。
-a do not ignore entries starting with-I, --ignore=PATTERN do not list implied entries matching shell PATTERN -l use a long listing format-F, --classify append indicator (one of */=>@|) to entries-A, --almost-all do not list implied . and ..-lF ignore file步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。
察看当前目录下的passwd文件的属主和文件权限。
步骤5:尝试向当前目录下的passwd文件和/etc/passwd文件分别写入一些新内容(可使用echo “字符串” >>文件的命令),看看操作能否成功,如果不能成功,请说明原因。
Linux课程综合训练实验报告
Linux课程综合训练实验报告1) 实验目的:熟练掌握Linux操作系统的使用,掌握Linux的各项系统管理功能,掌握Linux下各类网络服务的安装、配置以及使用,并能用shell脚本实现简单的管理任务。
2) 实验内容:准备工作:利用虚拟机安装Linux操作系统,要求对/home目录单独分区,在系统中安装适当的软件包以备后续的实验需要,可关闭防火墙和SeLinux。
完成安装后将/root中的anaconda-ks.cfg文件的内容附到报告中。
(5分)1.查看Linux系统磁盘空间的使用情况(给出显示结果)(3分)在命令行新建几个用户,如tux,tom,lily等,给每个用户创建密码,测试各个用户是否创建成功。
(2分)并为/home分区创建磁盘配额,使得你所创建的每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。
试编写shell测试脚本验证你的磁盘配额设置。
(10分)2.配置网络,并进行检测,确保能够在本地网络中联网通信(给出网络接口配置文件ifcfg-eth0)。
(5分)假设本地网络中大部分客户端是windows系统,请建立Linux Samba服务器使得windows客户端能够共享Linux服务器的资源,具体要求如下:创建一个共享文件夹/home/Public,使得所有用户都可以匿名访问(可读写)。
(5分)每个用户可以访问自己的主目录,具有完全权限,采用用户验证的方式;(5分)为用户tux和tom创建一个共享目录/home/share,可供这两个用户进行文件的共享(可读写);(5分)测试:使用smbclient客户端程序登录Samba服务器,访问服务器中的共享资源。
注:以上用户以及文件夹需要自己创建,并使之具有适当的权限。
实验报告中需要给出配置文件及相关的运行结果。
3.请思考如下场景并考虑解决方案:Root用户有事外出,委托tux进行必要的系统维护工作,使得tux虽然并不具备管理员权限但能进行诸如shutdown,httpd,samba等服务的管理工作(如启动,关闭,重启等)。
linux实验报告总结-共10篇
∣inux实验报告总结(共10篇)(Linux实验报告汇总)(一)Shell 编程一、实验目的:1)掌握在Linux下的C编程基本方法。
2)掌握shell编程方法。
3)掌握dialog图形化编程方法。
二、实验内容1、编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。
要求记录所使用的命令及结果。
#include stdio.hmain()(printf(Hello world!\n);)2、编写一个C程序并设置其在后台执行,其功能是在一段时间后(可自行设置),在屏幕上显示信息:Time for play!,写出相应的程序、命令及结果。
#include stdio.hmain()(int time=0;printf(请输入等待时间(单位:s):);scanf(%d/&time);sleep(time);printf(Time for play!\n);)3、编写C程序,求1到100之间整数的阶乘和,并对程序进行优化。
写出程序、命令和结果。
#include stdio.hmain()int i;double s = l,sum = 0;for( i= l;i= 100;i++)sum+=s*=i;printf( 1到100之间整数的阶乘和:%f\n,sum);printf( 1到100之间整数的阶乘和:%e\n,sum);}4、编写C程序,根据键盘输入的半径求圆面积,要求在命令行周率(P∣=3∙14,PI=3∙14159,PI=3.14159626 等)进行编使用不同的译,写出程序、命令和结果。
#include stdio.hint main()double r = 0.0 , Area = 0.0;printf(请输入半径:);scanf(%lf, &r);Area = PI * r * r;printf(圆面积:%f∖n, Area);)5、编写shell程序sh.l,完成向用户输出“你好!”的问候语。
操作系统linux版实验报告
操作系统实验报告(Linux版)网络142 豹 142999实验一观察Linux进程状态一、实验目的在本实验中学习Linux操作系统的进程状态,并通过编写一些简单代码来观察各种情况下,Linux进程的状态,进一步理解进程的状态及其转换机制。
二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Linux Ubuntu操作系统,gcc编译器。
(四)查看“不可中断阻塞”状态(D)创建一个C程序,如uninter_status.c,让其睡眠30s代码:#include<unistd.h>#include<stdio.h>int main(){int i=0,j=0,k=0;for(i=0;i<1000000;i++){for(j=0;j<1000000;j++){k++;k--;}}}实验结果:(二)查看“暂停”状态(T)运行run_status进程,其进入R状态:代码同上:(三)查看“可中断阻塞”状态(S)创建一个C程序,如interruptiblie_status.c,让其睡眠30s 编译,后台运行该程序(后接&符号),并使用ps命令查看运行状态代码:#include<unistd.h>#include<stdio.h>int main(){sleep(30);return;}实验结果:(四)查看“不可中断阻塞”状态(D)创建一个C程序,如uninter_status.c,让其睡眠30s编译,后台运行该程序(后接&),并使用ps命令查看运行状态代码:#include<unistd.h>#include<stdio.h>int main(){if(vfork()==0)sleep(300);return;}}实验结果:(五)查看“僵尸”进程(Z)创建一个C程序,如zombie_status.c,在其中创建一个子进程,并让子进程迅速结束,而父进程陷入阻塞编译,后台运行该程序(后接&),并使用ps命令查看运行状态(30s)代码:#include<unistd.h>#incldue<stdio.h>int main(){if(fork()){sleep(300);}}实验结果:实验二观察Linux进程/线程的异步并发执行一、实验目的通过本实验学习如何创建Linux进程及线程,通过实验,观察Linux进程及线程的异步执行。
《Linux应用实践》综合实验报告
xxx大学2019-2020学年第2学期Linux应用实践实验报告一、实验目的1、掌握gcc的编译流程、编译方法和使用;2、掌握中大型项目的需求分析、系统设计、编码、测试,以及项目的部署运行,具备复杂工程问题的解决能力;3、掌握综合应用Linux知识点进行管理和软件开发的能力;4、掌握文献检索、系统建模、文档写作等方面的能力。
二、实验内容编写程序1.要求使用C语言实现一个数独生成器,可以随机生成数独题,并调试输出2.编写一个解数独程序,并调试输出三、实验代码和过程1.数独生成程序void shiftarray(int a[9]) //左移3位{int temp[3] = { 0 };for (i = 0; i < 3; i++){temp[i] = a[i];}for (i = 0; i < 6; i++){a[i] = a[i+3];}for(i=0;i<3;i++)a[i+6] = temp[i];}void print(int array[9][9]){printf( "******数独答案*******\n");for (i = 0; i < 9; i++){for (j = 0; j < 9; j++)printf("%d " ,array[i][j] );printf("\n");}printf( "**********************\n");}void swap(int &a, int &b) //交换{int tmp;tmp = a;a = b;b = tmp;}void creatsudo(){printf("创建数独\n");srand(time(0));int m, c[9] = { 0 };int tmpi, tmpj;for (j = 0; j < 9; j++){if (j==3) { //每三次左移1位int tmp = a[0];for (i = 1; i < 9; i++)a[i - 1] = a[i];a[8] = tmp;for (i = 0; i < 9; i++)b[j][i] = a[i];shiftarray(a);}else if (j==6) {int tmp = a[0];for (i = 1; i < 9; i++)a[i - 1] = a[i];a[8] = tmp;for (i = 0; i < 9; i++)b[j][i] = a[i];shiftarray(a);else {for (i = 0; i < 9; i++)b[j][i] = a[i]; //填充行shiftarray(a);} //左移}x = 0;tmpi = rand() % 3;tmpj = rand() % 3;while(tmpj==tmpi)tmpj = rand() % 3;for (j = 0; j < 3; j++){swap(b[j][tmpi], b[j][tmpj]);swap(b[j][tmpi + 3], b[j][tmpj + 3]);swap(b[j][tmpi + 6], b[j][tmpj + 6]);//交换行}for(j=3;j<6;j++){swap(b[j][tmpi], b[j][tmpj]);swap(b[j][tmpi + 3], b[j][tmpj + 3]);swap(b[j][tmpi + 6], b[j][tmpj + 6]);//交换行}for (j = 6; j < 9; j++){swap(b[j][tmpi], b[j][tmpj]);swap(b[j][tmpi + 3], b[j][tmpj + 3]);swap(b[j][tmpi + 6], b[j][tmpj + 6]);//交换行}for (j = 0; j < 3; j++){swap(b[tmpi][j], b[tmpj][j]);//交换列swap(b[tmpi + 3][j], b[tmpj + 3][j]);//交换列swap(b[tmpi + 6][j], b[tmpj + 6][j]);//交换列}for (j = 3; j <6; j++){swap(b[tmpi][j], b[tmpj][j]);//交换列swap(b[tmpi + 3][j], b[tmpj + 3][j]);//交换列swap(b[tmpi + 6][j], b[tmpj + 6][j]);//交换列}for (j = 6; j < 9; j++)swap(b[tmpi][j], b[tmpj][j]);//交换列swap(b[tmpi + 3][j], b[tmpj + 3][j]);//交换列swap(b[tmpi + 6][j], b[tmpj + 6][j]);//交换列}for (i = 0; i < 9; i++){for (j = 0; j < 9; j++){if (b[i][j] == 1)b[i][j] = 8;else if (b[i][j] == 8)b[i][j] = 1;}}for (i = 0; i < 9; i++)for (j = 0; j < 9; j++)answer[i][j] = b[i][j]; //存放答案for (i = 0; i < 9; i++)for (j = 0; j < 4; j++){tmpi = rand() % 9;b[i][tmpi] = 0; //随机扣去几个数}for (i = 0; i < 9; i++)for (j = 0; j < 9; j++){if (b[i][j] == 0)printf( "# ");else printf("%d " ,b[i][j] );if (j == 8)printf( "\n");}printf(" 输入 # 查看答案");char p;p = getchar();if (p == '#')print(answer);else return;}2.解数独程序//从二维数组的左上角开始,向右搜索int backtrack(int s[9][9], int row, int col) {if (row == 9)return 1;//最后一个,在这之前是s[8][8];递归到最深处;成功返回if (s[row][col] != 0) {if (col == 8) {row++;col = 0;}elsecol++;return backtrack(s, row, col);}//如果 s[row][col]本来就有数据,需要跳过,分析下一个// s[row][col]是空的,则放入1~9for (int k = 1; k < 10; k++) {s[row][col] = k;if (place(s, row, col)) {//判断是否合法,如果合法就分析下一个if (col == 8) {if (backtrack(s, row + 1, 0)) {return 1;}}else {if (backtrack(s, row, col + 1)) {return 1;}}}s[row][col] = 0;//在后面的某次中发现,所有的数都有冲突,则前面的数放错了,所以需要恢复}//从1~9没有找到合适的数放入,之前的出错了return 0;}//判断整个数独是否合法int place(int s[9][9], int t, int j){for (int i = 0; i < 9; i++){if (s[t][i] == s[t][j] && i != j) {return 0;if (s[i][j] == s[t][j] && i != t) {return 0;}//判断列上没有冲突}//判断块中是否有重复的int x = t % 3;int y = j % 3;/*00 01 0210 11 1220 21 22*/if (x == 0 && y == 0) {if (justIsRepeatIN9(s, t, j, t, j)) {return 1;}else {return 0;}}if (x == 0 && y == 1) {if (justIsRepeatIN9(s, t, j - 1, t, j)) { return 1;}else {return 0;}}if (x == 0 && y == 2) {if (justIsRepeatIN9(s, t, j - 2, t, j)) { return 1;}else {return 0;}}if (x == 1 && y == 0) {if (justIsRepeatIN9(s, t - 1, j, t, j)) { return 1;}else {return 0;}if (x == 1 && y == 1) {if (justIsRepeatIN9(s, t - 1, j - 1, t, j)) { return 1;}else {return 0;}}if (x == 1 && y == 2) {if (justIsRepeatIN9(s, t - 1, j - 2, t, j)) { return 1;}else {return 0;}}if (x == 2 && y == 0) {if (justIsRepeatIN9(s, t - 2, j, t, j)) { return 1;}else {return 0;}}if (x == 2 && y == 1) {if (justIsRepeatIN9(s, t - 2, j - 1, t, j)) { return 1;}else {return 0;}}if (x == 2 && y == 2) {if (justIsRepeatIN9(s, t - 2, j - 2, t, j)) { return 1;}else {return 0;}}int justIsRepeatIN9(int s[9][9], int x, int y, int m, int n) {//判断一个九宫格中是否有重复的数//其中s是数组,x是起始的位置,y是起始是位置//因为之前的数据都是有序的,并不需要判断其他的是否合法,只要判断指定的数,只要知道特殊的//m,n是需要判断的内容for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (s[x + i][y + j] == s[m][n] && x + i != m && y + j != n) {return 0;}}}return 1;}//打印数独中各个格子的值void showsudo(){for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++){printf("%d ", sudo[i][j]);/*if (j % 3 == 2){printf(" ");}*/}printf("\n");/*if (i % 3 == 2) {printf("\n");}*/}printf("\n");}int main(){j = 0;for (i = 0; i < 9; i++)a[i] = i + 1;creatsudo();for(i=0;i<9;i++){sudo[i][j] = b[i][j];}backtrack(sudo, 0, 0);showsudo();system("pause");return 0;}四、实验结果分析第一个9*9的方块为随机生成的数独题,第二个9*9的方块为数独原本的解,第三个9*9的方块为用解数独程序得到的解五、实验中遇到的问题和解决问题的方法本次实验使用c语言随机生成9*9的数独,原思路是用一维数组存放1到9,之后分别左移一位再装入二维数组,然后随机交换4列4行,但是存在一个小9宫格内有相同数字的问题。
Linux操作系统课程实验报告
Linux操作系统课程实验报告Linux操作系统课程实验报告班级:姓名:学号:指导⽼师:⽥丽华完成时间:2014年7⽉⽬录⼀、实验⽬的 (3)⼆、实验要求 (3)三、实验内容 (3)【第⼀题】 (3)【第⼆题】 (2)【第三题】 (4)【第四题】 (4)【第五题】 (5)【第六题】 (8)【第七题】 (12)【第⼋题】 (14)【第九题】 (15)四、实验过程中出现的问题及解决⽅法 (17)五、实验体会 (18)六、Linux系统安装报告 (18)⼀、实验⽬的熟练掌握Linux操作系统的使⽤,掌握Linux的各项系统管理功能,掌握Linux下各类⽹络服务的安装、配置以及使⽤,并能⽤shell脚本实现简单的管理任务。
⼆、实验要求完成实验内容并写出实验报告,报告应具有以下内容:1) 实验⽬的;2) 实验内容;3) 题⽬分析及基本设计过程分析;4) 配置⽂件关键修改处的说明及运⾏情况,应有必要的效果截图;5) 脚本源程序清单,包括详细注释;6) 实验过程中出现的问题及解决⽅法;7) 实验体会三、实验内容【第⼀题】在命令⾏新建⼏个⽤户,如tux,tom,lily等,给每个⽤户创建密码,并将这⼏个⽤户分到同⼀个组team中。
再新建⼀个组student,使得tux也为该组⽤户。
在root⽤户和新建⽤户之间切换,验证⽤户创建成功与否。
(给出相关命令运⾏结果)(5分)实验分析:这是⼀道基本的题⽬,⽼师上课所讲的创建⽤户以及创建⼩组的语句稍加应⽤便可以轻松完成题⽬。
创建⽤户时,⽤命令useradd,创建⼩组⽤groupadd,输密码时⽤passwd,这样就可以较为迅速完成实验题⽬。
实验中操作及其注释:[root@localhost ~]# groupadd teacher //添加⼩组teacher[root@localhost ~]# groupadd student //添加⼩组student[root@localhost ~]# useradd –g teacher –G student tux//添加⽤户tux,既属于⼩组teacher,也属于student[root@localhost ~]# passwd tux //为⽤户tux添加密码实验过程中出现的问题:这个实验题⽬⽐较基础,参照讲义和⽼师上课提到的⽅法可以完美解决这个问题,但是有些知识点有些⽣疏,所以出现⼀些⼩错误,不过很快就纠正了,影响不⼤。
Linux系统管理实验
实验一Red Hat Linux 9.0的安装与配置一. 一.实验目的:1.1.熟悉和掌握Red Hat Linux9.0服务器的安装与配置;2.2.掌握Linux的基本命令使用和功能。
二. 二.实验内容:1.1.利用PC虚拟机来安装与配置Red Hat Linux9;2.2.完成安装配置后掌握一些界面及必要的Linux命令使用和功能。
三. 三.实验步骤:1.1.利用v m w a r e虚拟机来安装R e d H a t L i n u x9.0:(1)(1)启动v m w a r e虚拟机;(2) (2)单击“新建PC”, 出现“PC安装向导-Virtual PC”对话框,单击“下一步”;(3) (3)在新PC的名称处:输入LINUX, 单击“下一步”;设置向导, 单击“下一步”;(4) (4)选择安装Linux, 单击“下一步”;(5) (5)调整内存为64M, 单击“下一步”;(6) (6)创建指定位置(如E盘)的磁盘映像文件LINUX.VHD, 单击“下一步”;(7) (7)配置步骤完成,启动系统;(8) (8)单击工具栏“CD” ?“载入第一张映像文件ISO”;单击工具栏“PC” ?“重启”(9) (9)开始安装●●开始安装按―ENTER‖键。
●●接下来的几步操作只须点击―NEXT‖即可;●●当出现―语言选择‖窗口时,选择Chinese(Simplifield)(简体中文);当出现―键盘布局选择‖窗口时,选择U.S.English;●●当出现―鼠标选择‖窗口时,选择2键鼠标(PS/2);当出现―选择安装类型‖窗口时,选择定制;●●当出现―选择磁盘分区设置‖窗口时,选择用Disk Druid 手工分区(D);这里如果选择自动, 则不做任何设置;当出现―选择磁盘分区设置提示‖窗口时,选择是;●●当出现―磁盘设置‖窗口时,选择新建;当出现―添加分区‖窗口时,选择ext3;接着选择新建boot分区, home分区, 新建user分区与大小;●●当出现―磁盘设置‖窗口时,选择新建根目录分区ext3;当出现―磁盘设置‖窗口时,选择新建交换分区swap;接着选择新建交换分区的大小, 一般为物理内存的两倍, 新建剩余目录Home分区与大小;磁盘分区完成。
linux基本操作 实验报告
linux基本操作实验报告《Linux基本操作实验报告》摘要:本实验报告旨在介绍Linux操作系统的基本操作,包括文件管理、用户管理、权限管理等内容。
通过实际操作,掌握Linux操作系统的基本技能,为今后的深入学习和应用打下基础。
一、实验目的1. 了解Linux操作系统的基本概念和特点;2. 掌握Linux操作系统的基本命令和操作;3. 熟悉Linux操作系统的文件管理、用户管理、权限管理等功能。
二、实验环境本次实验使用的是Ubuntu 20.04 LTS版本的Linux操作系统。
三、实验内容1. 文件管理在Linux操作系统中,文件管理是非常重要的一部分。
通过命令行可以进行文件的创建、复制、移动、删除等操作。
在本次实验中,我们将学习如何使用命令行进行文件管理操作,并掌握常用的文件管理命令。
2. 用户管理Linux操作系统是一个多用户的操作系统,因此用户管理也是非常重要的一部分。
在本次实验中,我们将学习如何创建用户、修改用户密码、删除用户等操作,并掌握常用的用户管理命令。
3. 权限管理在Linux操作系统中,权限管理是非常严格的。
每个文件和目录都有自己的权限设置,包括读、写、执行等权限。
在本次实验中,我们将学习如何使用命令行进行权限管理操作,并掌握常用的权限管理命令。
四、实验步骤1. 文件管理实验步骤- 创建一个新的文件夹:mkdir test- 进入新的文件夹:cd test- 创建一个新的文件:touch file.txt- 复制文件到另一个文件夹:cp file.txt /tmp- 移动文件到另一个文件夹:mv file.txt /tmp- 删除文件夹及其内容:rm -rf test2. 用户管理实验步骤- 创建一个新的用户:sudo adduser newuser- 修改用户密码:sudo passwd newuser- 删除用户:sudo deluser newuser3. 权限管理实验步骤- 查看文件权限:ls -l- 修改文件权限:chmod 755 file.txt五、实验总结通过本次实验,我们学习了Linux操作系统的基本操作,包括文件管理、用户管理、权限管理等内容。
linux操作系统实验报告
linux操作系统实验报告Linux 操作系统实验报告一、实验目的本次实验的主要目的是深入了解和熟悉Linux 操作系统的基本操作、命令行使用、文件系统管理以及进程管理等方面的知识和技能。
通过实际操作和实践,提高对 Linux 操作系统的掌握程度,为今后在相关领域的学习和工作打下坚实的基础。
二、实验环境本次实验使用的是虚拟机软件 VirtualBox 安装的 Ubuntu 2004 LTS操作系统。
虚拟机配置为 2GB 内存,20GB 硬盘空间。
实验在Windows 10 操作系统的主机上进行。
三、实验内容及步骤(一)用户和权限管理1、创建新用户使用`sudo adduser <username>`命令创建新用户,例如创建用户名为`testuser` 的新用户。
2、设置用户密码使用`sudo passwd <username>`命令为新用户设置密码。
3、切换用户使用`su <username>`命令切换到新用户。
4、用户权限管理修改`/etc/sudoers` 文件,为新用户赋予特定的权限,例如允许执行特定的管理员命令。
(二)文件和目录操作1、查看文件和目录使用`ls` 命令查看当前目录下的文件和目录,使用`ls l` 命令查看详细信息,包括文件权限、所有者、大小和修改时间等。
2、创建、删除文件和目录使用`touch <filename>`命令创建新文件,使用`mkdir <directoryname>`命令创建新目录。
使用`rm <filename>`命令删除文件,使用`rmdir <directoryname>`命令删除空目录,使用`rm r <directoryname>`命令删除非空目录。
3、复制、移动文件和目录使用`cp <source> <destination>`命令复制文件或目录,使用`mv <source> <destination>`命令移动文件或目录。
信息技术鸡兔同笼教案
教学目标:1. 理解问题描述。
2. 运用循环语法解决问题。
3. 熟练使用Python 编程语言。
4. 发展问题分析和解决问题的能力。
教学重点:1. 学习循环语法。
2. 理解问题描述。
教学难点:1. 运用循环语法解决问题。
2. 掌握Python 编程语言。
教学方法:1. 讲授和演示相结合。
2. 小组合作讨论、解决问题。
教学内容和流程:第一步:问题描述将问题描述和题目展示给学生:有一个笼子里有鸡和兔,它们的脚加起来共有64 只,而它们的头只数加起来总共有30 个。
请问,鸡和兔各有多少只?第二步:问题分析让学生分析这个问题,思考如何解决。
引导学生观察到本题中只给出了头数和脚数,缺少关键信息。
第三步:求解过程3.1 假设笼子中鸡的数量是x,兔的数量是y3.2 根据题目的描述,得出以下公式:x + y = 302x + 4y = 643.3 根据方程组求解方法,可得出:x = 14,y = 16第四步:编写Python 代码4.1 打开Python 环境,编写程序:```for i in range(1, 30):j = 30 - iif 2 * i + 4 * j == 64:print("鸡的数量是:", i)print("兔的数量是:", j)```4.2 运行程序,得出运行结果:鸡的数量是:14兔的数量是:16第五步:总结总结编写程序的过程,回顾解决问题的方法,并对扩展问题进行讨论,提高学生的解决问题的能力。
教学评价:1. 通过小组讨论,提高了学生解决问题的能力。
2. 运用循环语句解决问题,可以增强学生对编程语言的了解。
3. 给出具体问题,让学生更好地理解了编程的应用场景。
linux鸡兔同笼实验报告
甘肃政法学院
本科学生实验报告
(一)
姓名王伟芳学院计算机科学学院
专业计算机科学与技术班级11级专升本实验课程名称linux开源编程环境
试验时间 2012 年 10 月25 日
指导教师及职称郝占军
实验成绩
开课时间 2012学年 2 学期甘肃政法学院实验管理中心印制
图1
、新建虚拟机:单击新建虚拟机的图标,新建一个虚拟机,选择虚拟机配置为“典型”,单击“下一步”按钮
图6
、对磁盘进行设置,检测,如图7为检测进度。
图8
图10
(11)、键盘设置为“U.S English”, 点击“下一步”,如图11所示。
图12
(13)、设置安装类型为“服务器”,点击“下一步”,如图13所示。
图14
图15 (16)、设置防火墙配置,如图16所示。
图17
图18
19)、进行两次光盘替换,分别为“shrike-i386-disc1.ISO ”shrike-i386-disc1.ISO”,两次替换的方法相同,如图19所示为第三次替换光盘界面,替换完后点击确定。
图19
(20)、引导盘创建选择“否”,点击“下一步”,图形化界面选择“VESA driver”点击“下一步”显示器配置选择“未探测过的显示器”,点击“下一步”,定制图形化配置的色彩深度为“真色(24位)”,屏幕分辨率为(800*600),登录类型为“图形化”,点击“下一步”安装完成,点击“退出”并重新启动,如图20所示。
图20 (21)、重新启动的画面如图21所示。
.输入完成后,按ESC键退出并保存,输入命令,将该文件执行,结果如图:。
鸡兔同笼编程总结报告
鸡兔同笼编程总结报告一、前言。
今天来和大家唠唠我做鸡兔同笼编程的那些事儿。
这鸡兔同笼问题啊,那可是老有名了,从古代数学题一直流传到现在,还成了我们编程练习的好素材呢。
当时一接到这个任务,我心里就像揣了只小兔子,既兴奋又有点小紧张。
二、问题理解。
1. 传统问题描述。
鸡兔同笼,简单来说就是在一个笼子里关着鸡和兔,知道头的总数和脚的总数,然后要算出鸡和兔各有几只。
比如说,有35个头,94只脚,这时候就得想办法找出鸡和兔的数量啦。
这就像一个小谜题,超级有趣。
2. 数学解法回顾。
在编程之前呢,咱得先回顾一下数学解法。
像假设法就很常用,假设全是鸡或者全是兔,然后根据脚数的差异来计算。
这就好比走一条路,你得先知道常规的走法,才能在编程的世界里找到对应的“路线”。
三、编程思路。
1. 选择编程语言。
我选择了Python来解决这个问题。
为啥选Python呢?它就像一个贴心的小助手,语法简洁明了,对于咱这种还在学习编程的大学生来说,特别友好。
就好像你和一个很懂你的朋友聊天,你说啥它都能很快明白。
2. 算法设计。
我用的是方程组的思路来设计算法。
设鸡有x只,兔有y只,根据头和脚的数量关系可以列出两个方程:x + y = 总头数,2x + 4y = 总脚数。
然后通过解这个方程组来得到鸡和兔的数量。
在编程里,就可以用变量来表示这些数量,然后通过一些计算来求解。
这就像是在玩一个数字游戏,把那些抽象的鸡和兔变成代码里的数字和符号。
四、代码实现。
1. 代码框架搭建。
python.先定义一个函数来解决鸡兔同笼问题。
def chicken_rabbit(head, foot):这里就是算法的具体实现啦。
pass.这个函数就像一个小盒子,把解决问题的方法都装在里面。
当你给它输入头的数量和脚的数量,它就能给你算出鸡和兔的数量。
2. 具体代码编写。
python.def chicken_rabbit(head, foot):用方程组的方法求解。
鸡兔同笼问题微机原理课程设计报告
微机原理及接口技术课程设计专业通信工程学号 2018015913姓名完成日期 2020年 5 月 13 日设计题目17. 鸡兔同笼,已知其总头数为H,总脚数为F,求笼中鸡兔各有多少只? 用键盘输入H和F 的数据,将结果以十六进制形显示在屏幕上。
设计要求要判断H,F的数值是否合理,不合理重新输入,将结果以十六进制形式显示在屏幕上。
软件方案1)流程图程序流程总概2)程序清单DATA SEGMENTVOID DB 0DHHFS DB 10 DUP(?) ;输入数据存放区H DW ? ;存放整理后的十六进制数据,字为单位F DW ?EXTRA DW ? ;辅助变量,用于存放倍数、除数JI DB 4 DUP(?),'$' ;存放整理后的ASCII码,最高4位数TU DB 4 DUP(?),'$'HI DB 0AH,'Head=$' ;提示信息FI DB 'Foot=$'TISHI1 DB 'Ready$' ;提示信息TISHI2 DB 0AH,'Input Error$'TISHI3 DB 0AH,'Program Ends$'TISHI4 DB 0AH,'Do not enter more than 9999$'TISHI5 DB 0AH,'Please Enter$'JIO DB 'H chickens$' ;提示信息TUO DB 'H rabbits$'DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART: MOV AX, DATA ;程序开始提示部分MOV DS, AXMOV DX, OFFSET TISHI1MOV AH,9INT 21HMOV DX, OFFSET TISHI4MOV AH,9INT 21HJMP INPUTERROR: MOV DX, OFFSET TISHI2;错误标号,提示错误再次输入MOV AH,9INT 21HMOV DX, OFFSET TISHI5MOV AH,9INT 21H;输入H和FINPUT: MOV SI, OFFSET HFSMOV DX, OFFSET HIMOV AH,9INT 21HH1: MOV AH,1 ;输入HINT 21HMOV [SI], ALINC SICMP AL,0DHJNZ H1MOV DX, OFFSET FIMOV AH,9INT 21HF1: MOV AH,1 ;输入FINT 21HMOV [SI], ALINC SICMP AL,0DHJNZ F1;整理数据FSUB SI,2XOR CX,CX ;清零,CX用于临时存放数据,累加结果 MOV EXTRA,0001H ;EXTRA存放一个倍数,后面会用F2: MOV BL, [SI]CMP BL,0DHJZ F3SUB BL,30HAND BX,00FFHMOV AX, EXTRAMUL BX ;按个/十/百位加倍ADD CX,AX ;累加结果暂存CXMOV AX,0AH ;EXTRA加倍,准备下一次MUL EXTRAMOV EXTRA, AXDEC SI ;SI-1,指向下一个字节JMP F2F3: MOV F,CX ;转存;整理数据HXOR CX,CX ;清零,CX用于临时存放数据,累加结果 MOV EXTRA,0001H ;EXTRA存放一个倍数,后面会用DEC SIH2: MOV BL, [SI]CMP BL,0DHJZ H3SUB BL,30HAND BX,00FFHMOV AX, EXTRAMUL BX ;按个/十/百位加倍ADD CX,AX ;累加结果,暂存CXMOV AX,0AH ;EXTRA加倍,准备下一次MUL EXTRAMOV EXTRA, AXDEC SI ;SI-1,指向下一个字节JMP H2H3: MOV H,CX ;转存;判断H、F是否合理JUDGE: XOR AX,AX ;AX清零ADD AX, HJS NER ;H小于零则转移ADD AX, HCMP AX, FJA NER ;2H大于F则转移ADD AX, AXCMP AX, FJB NER ;4H小于F则转移MOV AX, FTEST AX,0001HJZ COM ;F为偶数则继续进行(到COM)NER: JMP ERROR ;否则跳远标号(因为ERROR标号较远,采用这种方式跳转);计算鸡的个数COM: MOV AX,4MUL HSUB AX, FMOV EXTRA,2 ;EXTRA用于存放除数DIV EXTRALEA DI, JICALL FORM ;调用子程序整理结果格式;计算兔子的个数MOV AX,2MUL HMOV BX, FSUB BX, AXMOV AX, BXMOV EXTRA,2DIV EXTRALEA DI, TUCALL FORMCALL OUTPUTMOV AH,4CHINT 21HFORM PROC ;FORM子程序整理格式MOV CX,0204HMOV DX, AXLP: XOR BX, BXAND AX,00FFHMOV BX, AXSHL BX, CLOR AX, BXAND AX,0F0FHOR AX,3030HCMP AL,39HJBE L1ADD AL,7L1: MOV [DI+3], ALCMP AH,39HJBE L2ADD AH,7L2: MOV [DI+2], AHSUB DI,2MOV AL, DHDEC CHJNZ LPRETFORM ENDPOUTPUT PROC ;OUTPUT子程序显示结果MOV DX, OFFSET JIMOV AH,9INT 21HMOV DX, OFFSET JIOMOV AH,9INT 21HMOV DL,0AHMOV AH,2INT 21HMOV DX, OFFSET TUMOV AH,9INT 21HMOV DX, OFFSET TUOMOV AH,9INT 21HMOV DX, OFFSET TISHI3MOV AH,9INT 21HRETOUTPUT ENDPCODE ENDSEND START方案论证程序核心程序有四部分(流程图中灰色填充),调试过程中程序修改多次,本报告通过修改前后的对比和举例,对四部分核心程序分别说明其优缺点。
Linux下的鸡兔同笼
一. 实训目的:1. 掌握Linux下C语言编程环境;2. 掌握Linux下的C语言编程及调试。
二. 实训内容1. 用vi编辑器编写一个程序解决“鸡兔同笼”问题。
2. 编辑一个求根程序源代码,并对其进行正确编译以及进行适当优化。
3. 程序调试三. 实训环境:1. 1台具有Linux虚拟机的计算机。
四. 实训步骤υ实训准备检查C语言环境所需的软件包是不是已经安装。
直接通过桌面“主菜单”-“系统设置”-“添加删除应用程序”,查看“程序开发”中的“开发工具”组件是不是已经安装,如果没有安装,运行第一张安装光盘的autorun进行组件的添加安装。
υ任务一:编写一个程序解决“鸡兔同笼”问题。
1. 使用vi编辑器编写以下源代码。
(假设该源代码文件名为test.c)# vi test.c参考程序:#include<stdio.h>main(){int h,f;int x,y;printf("请输入头数和脚数:");scanf("%d,%d",&h,&f);x=(4*h-f)/2;y=(f-2*h)/2;printf("鸡=%d 兔子=%d",x,y);}2. 编译。
# gcc test.c -o testo选项的作用是______________________________________________________。
3. 运行。
# ./test运行结果:请输入头数和脚数:18,48鸡=12 兔子=6注:鸡+兔子=头2鸡+4兔子=脚x+y=h2x+4y=f任务二:编辑一个求根程序源代码,并对其进行正确编译以及进行适当优化。
1. 使用vi编辑器编写以下源代码。
(假设该源代码文件名为sqrt.c)# vi sqrt.c参考程序:/** pisqrt.c - Calculate the square of PI 100,000,000*/#include <stdio.h>#include <math.h>int main(void){double pi = M_PI; /* Defined in <math.h> */double pisqrt;long i;for(i = 0; i < 10000000; ++i) {pisqrt = sqrt(pi);}return 0;}2. 编译# gcc sqrt.c -o sqrt3. 查看sqrt函数是在哪个库文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
甘肃政法学院
本科学生实验报告
(一)
姓名王伟芳学院计算机科学学院
专业计算机科学与技术班级11级专升本实验课程名称linux开源编程环境
试验时间 2012 年 10 月25 日
指导教师及职称郝占军
实验成绩
开课时间 2012学年 2 学期甘肃政法学院实验管理中心印制
图1
、新建虚拟机:单击新建虚拟机的图标,新建一个虚拟机,选择虚拟机配置为“典型”,单击“下一步”按钮
图6
、对磁盘进行设置,检测,如图7为检测进度。
图8
图10
(11)、键盘设置为“U.S English”, 点击“下一步”,如图11所示。
图12
(13)、设置安装类型为“服务器”,点击“下一步”,如图13所示。
图14
图15 (16)、设置防火墙配置,如图16所示。
图17
图18
19)、进行两次光盘替换,分别为“shrike-i386-disc1.ISO ”shrike-i386-disc1.ISO”,两次替换的方法相同,如图19所示为第三次替换光盘界面,替换完后点击确定。
图19
(20)、引导盘创建选择“否”,点击“下一步”,图形化界面选择“VESA driver”点击“下一步”显示器配置选择“未探测过的显示器”,点击“下一步”,定制图形化配置的色彩深度为“真色(24位)”,屏幕分辨率为(800*600),登录类型为“图形化”,点击“下一步”安装完成,点击“退出”并重新启动,如图20所示。
图20 (21)、重新启动的画面如图21所示。
.输入完成后,按ESC键退出并保存,输入命令,将该文件执行,结果如图:。