linux系统及应用应用开发实验报告册
linux实验报告
linux实验报告实验目的:通过对Linux操作系统的实践,掌握基本的Linux命令和操作方法,了解Linux操作系统的特点和优势。
实验一:Linux环境搭建在实验一中,我们首先需要搭建Linux操作系统的环境。
根据实验指导书的要求,我们选择了Ubuntu作为实验平台。
通过下载Ubuntu镜像文件,并利用虚拟机软件创建一个虚拟机,将镜像文件安装到虚拟机中。
在安装过程中,我们需要选择合适的分区和网络配置等,并设置root用户的密码。
实验二:基本命令的使用在实验二中,我们主要学习了Linux的基本命令的使用方法。
首先,我们了解了Linux文件系统的结构,包括根目录、用户目录、系统目录等。
然后,通过命令行终端进行一系列的实践操作,比如查看文件内容、创建目录、复制文件等。
这些命令的使用不仅提高了我们的工作效率,同时也增强了对Linux操作系统的理解。
实验三:软件安装与卸载实验三主要涉及到Linux的软件安装与卸载。
我们首先学习了使用APT工具进行软件包管理,通过安装命令行界面的方式安装了一些常用的软件,比如文本编辑器、终端工具等。
此外,我们还学习了如何卸载已安装的软件包,清理不需要的文件,以保持系统的整洁性。
实验四:权限管理在实验四中,我们学习了Linux的权限管理机制。
Linux操作系统采用了基于用户和组的权限模型,通过设置文件和目录的权限,实现对文件的读、写、执行的控制。
我们通过实际操作,创建了新的用户和组,并为不同的用户和组设置了不同的权限。
这样,可以有效地保护系统的文件和数据的安全性。
实验五:网络配置与服务搭建在实验五中,我们主要学习了Linux的网络配置和服务搭建。
通过设置网络接口、IP地址和网关等参数,实现了网络的正常连接。
同时,我们还学习了一些常用的网络命令,比如ping、ssh等。
此外,我们尝试搭建了一个简单的Web服务器,通过浏览器访问,可以查看服务器上的网页。
实验六:系统监控和故障恢复在实验六中,我们学习了Linux的系统监控和故障恢复方法。
Linux操作系统应用实验报告1_网G123 07张耀文
《Linux操作系统应用》实验报告题目实验1班级学号网络G123 07姓名张耀文日期2014年2月26日1.安装Linux操作系统前的准备:(1)安装Linux操作系统的计算机最低配置应该符合什么要求?大多数主流版本图形界面384MB内存,800Mhz CPU以上即可,桌面特效之类的图形界面只需300Mhz cpu 64MB内存(2)如在64MB内存的计算机上安装,多大的交换分区是最好的?一般情况下要求是等于内存大小或者是内存的二倍,所以应该是64MB~128MB。
2.安装Linux操作系统的过程中考虑如下问题:(1)如果安装过程中途挂起应怎样解决?我们在安装linux系统的时候,有时会分出一个/boot的分区,这个分区一般为100M,用来存放引导文件。
在你安装linux 的时候,有一个步骤会让你选择把引导放在那个分区,如果你选择了在/boot所在的区,那么你就有可能出现你现在存在的问题。
这是因为linux在安装结束的时候,并没有把引导程序放到/mbr里,而是放到了/boot里面。
而系统启动的时候,会检查/mbr,而不是/boot 所以,这时就会认为你的系统并没有安装操作系统。
那为什么会在/boot里安装引导程序,而没有办法启动。
这个是因为linux 为了防止在写入引导时将别的操作系统的引导覆盖,也是为了在以后对分区有更加灵活的操作的一个办法。
(比如你如果安装了linux,再安装windows时,你就会发现,你的linux无法进入,就是这个原因)。
我们把问题说到这,也有解决的办法了。
重新安装grub.用系统盘进入rescue模式启动grub命令root(hdx,Y)setup(hdx)x是你的linux在第几个硬盘大多数为0y是你的linux在硬盘的第几个分区(2)如果使用不同的引导加载程序来引导系统需要在那里安装LILO?GRUB和LILO之间有何异同?LILO 没有交互式命令界面,而 GRUB 拥有。
Linux操作系统实验报告
实验报告实验名称Linux操作、使用、编程指导教师杨健实验类型验证实验学时2+2 实验时间2007.10.29 1、实验目的和要求1.能够安装某Linux发行版本(例如Red Hat)2.了解Linux的启动过程3.了解Linux文件的组织结构4.熟悉X Window 环境5.练习使用Linux 常用命令6.熟练使用Linux的C语言开发环境7.学习并掌握Linux 编译工具gcc 的使用方法8. 熟练使用Linux的C语言开发环境9. 学习并掌握Linux 编译工具gcc 的使用方法10. Linux操作系统下的熟悉并能够进行进程创建11. 掌握Linux操作系统下的并发进程间同步12. 掌握Linux操作系统下的进程间通信IPC二、实验环境(实验设备)Windows 2000 + VMWare + RedHat Linux 8三、实验原理及内容熟悉了vim的操作,知道它的打开方式,编译方法,和运行方法。
了解了vim的常见的命令。
实验报告pid_t pid; //pid_t是Linux下的进程号类型,也就是Process ID _ Type 的缩写。
其实是宏定义的//unsigned int a类型int data=5;if((pid=fork())<0) /*错误处理,此处的pid的值,可以说明fork调用后,目前执行的是父进程还是子进程*/{printf("fork error\n");exit(0);}else if(pid==0) /*这是新进程*/{data--;printf("child\'s data is:%d\n",data);exit(0);}else /*这是最初的父进程*/{printf("parent\'s data is:%d\n",data);}exit(0);}/*fork函数被调用一次但返回两次。
《Linux操作系统服务器配置与应用》实训报告
湖南工业职业技术学院信息系《Linux操作系统服务器配置与应用》实训报告《Linux操作系统服务器配置与应用》实训报告班级学号:学生姓名:任课教师:完成时间:成绩评定:目录一、使用Linux系统 (1)1. 使用ls、mkdir、rmdir、cd、mv、rm、cp等文件目录管理指令。
(2)2. 使用gzip、gunzip、tar等命令。
(2)3. 文本编辑命令 (3)4. 用户与组的管理 (3)二、管理Linux系统 (6)1. 配置常规网络参数 (6)三、配置与管理企业网站 (6)1、服务器IP是? (6)2、客户端分别是? (6)3、apache服务器启动 (7)4、两个文件 (7)5、分别测试网站服务器,有测试结果 (7)四、配置与管理FTP服务器 (8)1、服务器IP是? (8)2、客户端分别是 192.168.10.190 (8)3、服务器启动 (9)5、分别测试ftp服务器,有测试结果 (9)五、配置与管理DNS服务器 (10)一、使用L i n u x系统1. 使用ls、mkdir、rmdir、cd、mv、rm、cp等文件目录管理指令。
(1)使用ls指令查看/目录下的内容(2)使用mkdir指令在用户主目录中创建三个目录,分别以A、B、C为名称(3)使用rmdir指令删除C目录(4)使用cd指令进入A目录图1(5)使用mv指令将以B目录移动至A目录(6)使用rm指令删除B目录(7)使用cp指令将用户主目录下的.bashrc文件拷贝至A目录图22. 使用gzip、gunzip、tar等命令。
(1)使用gzip指令将用户主目录下的.bashrc文件压缩成bashrc.gz(2)使用gunzip指令将bashrc.gz文件解压(3)使用tar指令使用zxvf和czvf分别对vmware.tar.gz和用户主目录进行操作图33. 文本编辑命令(1)使用vi使用vi编辑一篇英文文章,学会保存文字,定位光标,删除文字,复制、剪切、粘贴文字,搜索文字,执行shell命令(2)使用cat查看文件(3)使用more命令(4)使用less命令(5)使用head命令(6)使用tail命令图44. 用户与组的管理(1)使用命令添加名称为user1、user2、user3、user4的用户(2)使用命令设置user1、user2、user3、user4用户的密码为redhat(3) 使用命令删除user2和user4用户(4)使用命令添加group18、grou19和group20三个组(5)使用命令删除group19组图5(6)who指令查看当前登陆系统的用户(7)使用命令看当前用户的UID与GID(8)使用命令查看当前使用shell的用户名称(9)使用su指令从root用户切换至user1,然后切换回root图65. 权限管理。
linux应用实验报告书
北京林业大学2012学年—2013学年第二学期 Linux应用实验报告书专业名称:班级:姓名:学号:实验题目:实验三 Vi编辑器的基本使用实验环境: Red Hat Linux 9 实验目的:1.通过Vi 操作练习,能够熟练使用Vi 中的常见操作,并且熟悉Vi 的3种模式。
2.熟悉shell的各项功能。
实验步骤:1.熟悉Shell环境,使用Shell的各种功能1)命令补齐功能①用date命令查看系统当前时间,在输入da后,按tab键,让shell自动补齐命令的后半部分。
如图,输入da后按tab键直接补全date命令,回车后显示命令。
②用mkdir命令创建新的目录。
首先输入第一个字母m,然后按tab键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n。
a)再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。
b)在列表中查找mkdir命令,看看还需要多输入几个字母才能确定mkdir这个命令,然后输入需要的字母,再按tab键,让shell补齐剩下的命令。
c)最后输入要创建的目录名,按回车键执行命令。
d)多试几个命令利用tab键补齐。
实验过程截图如下:③命令别名功能a)输入alias命令,显示目前已经设置好的命令的别名。
b)设置别名ls为ls –l,以长格形式显示文件列表:c)显示别名ls代表的命令,确认设置生效:d)使用别名ls显示当前目录中的文件列表。
e)删除别名ls:#unalias ls。
f)显示别名ls,确认删除别名已经生效:g)最后再用命令ls 显示当前目录中的文件列表实验过程截图如下:④输入、输出重定向和管道(1) 输入/输出重定向a)用ls命令显示当前目录中的文件列表:b)使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中:c)查看文件list中的内容:d)再次使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中。
linux实验系统实验报告
linux实验系统实验报告Linux实验系统实验报告一、引言Linux实验系统是一个基于Linux操作系统的实验平台,旨在提供一个实践学习的环境,帮助学生深入了解Linux操作系统的原理和应用。
本实验报告旨在总结和分析我在使用Linux实验系统进行实验时的经验和收获。
二、实验环境1. 硬件环境:我使用的是一台配备Intel Core i5处理器和8GB内存的个人电脑。
2. 软件环境:我下载并安装了Linux实验系统的最新版本,该版本基于Ubuntu操作系统,并预装了一系列常用的开发工具和软件包。
三、实验内容1. 实验一:Linux基础命令的使用在这个实验中,我通过终端窗口使用了一些常用的Linux命令,如ls、cd、mkdir、rm等。
通过实际操作,我熟悉了Linux文件系统的结构和基本操作,掌握了如何在Linux中创建、删除和移动文件夹,以及如何查看文件和文件夹的属性。
2. 实验二:Shell脚本编程这个实验要求我们使用Shell脚本编写一个简单的程序,实现对指定文件夹中所有文件进行备份的功能。
通过这个实验,我学会了如何使用Shell编程语言,掌握了一些基本的语法和命令,比如if语句、for循环和cp命令。
我还学会了如何将Shell脚本保存为可执行文件,并在终端中运行。
3. 实验三:网络配置与管理这个实验主要涉及Linux系统的网络配置和管理。
我学会了如何配置网络接口,包括设置IP地址、子网掩码和网关。
我还学会了如何使用ping命令测试网络连接,以及如何使用ifconfig命令查看和管理网络接口的状态。
通过这个实验,我对Linux系统的网络配置有了更深入的了解。
四、实验收获通过使用Linux实验系统进行实验,我获得了以下收获:1. 对Linux操作系统有了更深入的了解:通过实际操作,我对Linux操作系统的基本原理和文件系统有了更深入的了解。
我学会了如何在Linux中进行文件和文件夹的管理,以及如何使用命令行界面进行各种操作。
linux操作系统应用实验报告
《实用操作系统》实验报告实验报告:实验项目名称:linux操作系统应用班级:学号:12+++ 姓名:地点:B512 时间:2013 年10 月16 日一.实验目的1、掌握linux操作系统安装,安装采用的是硬盘安装d:\soft\sysconfig\rhel5\*.iso.2、熟悉linux操作系统常用桌面应用3、掌握vi、vim修改开机系统配置文件/etc/inittab.二.实验设备计算机设备一台三.实验内容与步骤实验内容如下:1、linux操作系统安装root的密码普通用户的名称、密码分区默认的硬盘的处理ide、scsi开机图形界面-会话--勾选gnome、或kde2、gnome桌面应用3、kde桌面应用4、开机系统配置文件修改右击-打开终端-vi /etc/inittab命令模式插入模式底行模式Linux系统安装实验步骤如下(以“标准”选项类型配置为例):1.打开VMware workstation,新建虚拟机。
2.虚拟机配置选择“标准”,下一步选择硬件兼容性workstation6。
(选择“自定义安装”中间步骤有部分差别,在此省略,在后面实验分析中作讨论)3.安装客户机操作系统选择“我以后再安装操作系统”,点击下一步。
4.客户及操作系统选择“Linux”,版本为“red hat enterprise linux5”,其他默认,点击下一步。
5.命名虚拟机名称及选择位置,位置最好选择系统C盘以外。
6.指定磁盘容量,选择默认点击下一步。
7.准备创建虚拟机,点击“定制硬件”按钮。
8.在设备框内,点击“新CD/DVD”,在右边连接处,选择“使用ISO镜像文件”,浏览选上已下好的Linux镜像,点击确定和完成。
9.在命令框中,点击“打开该虚拟机电源”。
10.图形界面出现后,直接按回车键即在图形模式下安装Linux。
11.当完成程序检测系统后,在安装程序询问是否测试CD媒介,直接选择“skip”跳过。
《Linux操作系统服务器配置与应用》实训报告
《Linux操作系统服务器配置与应用》实训报告Linux操作系统服务器配置与应用实训报告一、引言随着云计算和大数据的兴起,Linux操作系统在服务器领域的应用越来越广泛。
为了更好地掌握Linux操作系统服务器配置与应用的相关知识,我们进行了本次实训。
本报告将详细介绍实训内容、实训过程中遇到的问题以及解决方法,并对实训效果进行总结。
二、实训内容及方法本次实训的内容主要包括Linux操作系统的基本介绍、服务器硬件配置、网络配置、安全配置、Web服务器配置、数据库服务器配置等。
实训使用了实验室提供的几台服务器,通过远程连接进行配置和应用。
三、实训过程1. Linux操作系统的基本介绍:我们首先学习了Linux操作系统的基本概念、特点以及与Windows操作系统的区别。
了解了Linux系统的优势和适用领域。
2.服务器硬件配置:我们学习了如何配置服务器的硬件,包括CPU、内存、硬盘等。
通过实际操作,了解了服务器硬件的重要性和如何选择合适的硬件配置。
3.网络配置:在实验过程中,我们学习了网络配置的基本知识,并通过配置IP地址、子网掩码、网关等参数,实现了服务器与外部网络的通信。
4.安全配置:为了保护服务器的安全,我们进行了一系列的安全配置操作。
包括设置防火墙、修改SSH端口、禁用不必要的服务等。
这些操作可以有效地提高服务器的安全性。
5. Web服务器配置:本次实训中,我们使用了Apache作为Web服务器,并学习了如何进行配置。
通过修改Apache的配置文件,我们实现了在服务器上搭建一个简单的网站。
6.数据库服务器配置:我们还学习了MySQL数据库的配置和使用。
通过安装MySQL数据库,创建数据库、用户以及表,我们成功地在服务器上搭建了一个简单的数据库服务器。
四、问题与解决方法在实训过程中,我们遇到了一些问题,下面对其中的两个问题及解决方法进行介绍。
问题1:连接服务器时提示连接超时。
解决方法:这个问题可能是由于网络配置不正确导致的。
linux系统使用实验报告
linux系统使用实验报告Linux 系统使用实验报告一、实验目的本次实验旨在深入了解和熟悉 Linux 操作系统的基本操作、命令行使用以及系统配置,掌握常见的文件管理、进程管理、用户权限管理等功能,提高对 Linux 系统的实际应用能力。
二、实验环境1、操作系统:Ubuntu 2004 LTS2、实验工具:终端模拟器(Terminal)三、实验内容与步骤(一)系统登录与基本命令1、启动计算机,选择 Ubuntu 操作系统,输入用户名和密码登录系统。
2、打开终端模拟器,熟悉常用的基本命令,如`ls` (列出当前目录下的文件和文件夹)、`cd` (切换目录)、`mkdir` (创建新目录)、`rmdir` (删除空目录)等。
(二)文件管理1、在用户主目录下创建一个名为`experiment` 的文件夹,使用`mkdir experiment` 命令。
2、进入该文件夹,使用`cd experiment` 命令。
3、在`experiment` 文件夹中创建一个文本文件`filetxt` ,使用`touch filetxt` 命令。
4、使用`vi` 或`nano` 编辑器打开`filetxt` 文件,输入一些文本内容,并保存退出。
5、查看文件的内容,使用`cat filetxt` 命令。
6、复制文件,使用`cp filetxt file_copytxt` 命令。
7、移动文件,使用`mv filetxt/`命令将文件移动到上级目录。
8、删除文件,使用`rm file_copytxt` 命令。
(三)进程管理1、运行一个后台进程,例如`ping &`,然后使用`jobs` 命令查看后台进程。
2、将后台进程切换到前台,使用`fg %1` (其中%1 为后台进程的编号)命令。
3、终止进程,使用`Ctrl + C` 组合键终止正在运行的进程。
4、查看系统当前运行的进程,使用`ps aux` 命令。
(四)用户权限管理1、创建一个新用户,使用`sudo adduser username` 命令,其中`username` 为新用户的用户名。
Linux实验报告
实验报告实验项目名称目录与文件管理(一)所属课程名称 Linux系统及应用实验类型设计型实验实验日期班级学号姓名指导老师询问是否重写,一面误覆盖文件-f 禁止交互式操作,即使有文件覆盖也不会给出提示同时,mv’命令还能够对文件进行重命名操作mv 源文件修改后文件七、文件权限文件的访问级别共有三个,分别是文件的拥有者、文件有者的属组用户、一般用户,其对应的标识符分别是u、g、o。
文件使用权分别为读(r)、写(w)、执行(x),在使用文件的权限时,其对行的权值分别为读(4)、写(2)、执行(1)。
其具体的属性如图一所示图一当为[ d ]则是目录;当为[ - ]则是文件1字段表示文件类型,2硬链接数目,3文件拥有者,4表示从属组,5表示文件大小(KB),6表示最近修改时间,7文件名;八、文件权限的修改1)使用操作符直接对所对应的用户更改权限操作符号含义+ 添加某个权限- 取消某个权限= 赋予给定权限并取消其他所有权限2)对文件的使用权限的权值进行更改chmod u | g | o(分别对应的用户的权值)文件路径其中值共有三个,分别对应读写执行的权限之和2.创建mdm.txt文件3.使用vi编辑器输如文本4.使用cat,和tac命令查看文件5.复制man.config文件到zyd目录下6.查看man.config的前50行7.查看man.config的后20行8.使用more命令查看文件使用less命令查看文件9.移动man.config文件10.更改man.config的权限12.删除man.config和Linux目录【结论】(结果)对于文件的创建和查看,必须能够熟练使用,由实验可以看出创建文件时最好使用touch命令创建文件而不是vi编辑器。
在实际工作中,不同的工作需求使用不同的命令来查看文件,例如我们知道,在我们查看Linux的系统日志,或者Lost and Found目录文件时,使用tail来查看最近的修改记录就极为方便,在不同的场景下选择不同的查看命令可以极大的方便我们的工作。
linux系统实训报告
linux系统实训报告在这次Linux系统实训中,我们通过学习和实践,深入了解了Linux操作系统的基本原理和应用。
本报告将围绕实训过程、实践成果和经验教训三个方面展开讨论。
一、实训过程1.1 系统环境的搭建在实训开始之前,我们首先需要搭建Linux系统的运行环境。
根据实训要求,我们选择了Ubuntu作为我们的操作系统。
通过下载镜像文件并进行安装,我们成功地搭建了可供实践使用的Linux系统环境。
1.2 系统基本命令的学习在进入实际的实践操作之前,我们先学习了Linux系统中最基本的命令。
比如ls命令用于查看当前目录下的文件和文件夹,cd命令用于切换目录,mkdir命令用于创建目录等等。
通过反复练习,我们迅速掌握了这些常用命令的使用。
1.3 文件权限和用户管理在Linux系统中,文件权限和用户管理是非常重要的概念。
我们学习了chmod命令用于设置文件的权限,chown命令用于更改文件的所有者,以及添加和删除用户的方法。
通过实践,我们对文件权限和用户管理有了更深入的了解。
1.4 Shell脚本编程Shell脚本是Linux系统中常用的自动化工具。
我们学习了Shell脚本的基本语法和常用的编程技巧,掌握了如何编写脚本来完成一些特定的任务。
这使得我们能够更高效地处理一些重复性工作,提高了工作效率。
二、实践成果2.1 实现基本的系统管理通过学习Linux系统的基本命令和文件权限管理,我们可以轻松地进行系统管理工作。
比如我们可以创建和删除用户,设置用户权限,管理系统进程,监控系统性能等。
这些能力在实际工作中非常实用。
2.2 Shell脚本的应用通过学习Shell脚本编程,我们可以编写脚本来完成一些自动化的任务。
比如自动备份文件,定时运行脚本任务,批量修改文件权限等。
这不仅提高了工作效率,还减少了重复操作的失误。
2.3 熟悉Linux服务器的部署与维护在实训中,我们还学习了Linux服务器的部署和维护。
通过安装并配置各种服务器软件,我们实现了自己的Web服务器和数据库服务器。
linu系统及应用应用开发实验报告册
linu系统及应用应用开发实验报告册It was last revised on January 2, 2021合肥师范学院实验报告册2013-2014 第二学期系别计算机科学与技术实验课程linux系统及应用专业11级计算机科学与技术班级嵌入式应用技术姓名学号指导教师何冀军实验项目一览表实验一Linux系统安装和简单配置一、实验目的(1)掌握Linux操作系统的安装步骤;(2)掌握Linux系统的简单配置方法;(3)掌握Linux系统的启动、关闭步骤。
二、实验内容(1)安装Linux系统;(2)配置Linux系统运行环境;(3)正确地启动、关闭系统。
三、实验软件VMWare Workstation 5. 0;Red hat linux 9. 0 镜像文件;四、实验主要步骤(1)配置并安装操作系统;(2)vi创建程序并实用GCC编译;(3)运行程序;五、实验结果实验项目二Linux基本命令的使用一、实验目的<1)掌握Linux —般命令格式;(2)掌握有关文件和LI录操作的常用命令;(3)掌握有关进程操作的常用命令;(4)熟练使用man命令。
二、实验内容(1)正确地登陆和退出系统;(2)熟悉date, cal, who, echo, clear, passwd 命令;(3)在用户主目录下对文件进行如下操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;(4)对目录进行管理:创建和删除子口录、改变和显示工作H录、列出和更改文件权限、链接文件等;(5)利用man显示date, echo等命令的手册页;(6)显示系统中的进程信息。
三、实验软件VMWare Workstation 5. 0:Red hat linux 9. 0;四、实验主要步骤1、登录进入系统,修改个人密码。
2、使用简单命令:date, cal, who, echo, clear等,了解linux命令格式;3、浏览文件系统:(1)运行pwd命令,确定当前工作LI录;(2)运行Is 命令,理解各字段含义;(3)运行Is -处命令,理解各字段含义。
linux系统实训报告
linux系统实训报告(注:以下是一份示例报告,具体内容可以根据实际情况自行修改和补充)1. 简介本报告对Linux系统实训进行总结和分析。
Linux是一种开源操作系统,具有稳定性和可靠性,并且在云计算、服务器和嵌入式系统等领域广泛应用。
在实训过程中,我们学习了Linux系统的安装、配置和管理,掌握了Linux命令行和GUI界面的使用,并了解了Linux系统的网络配置和安全性。
2. 实训内容和目标2.1 实训内容(详细列出实训所涉及的主要内容和任务)2.2 实训目标(简洁明了地列出实训的主要目标和学习成果)3. 实训过程(描述实训的具体过程,包括学习和实践的环节)4. 实训成果4.1 实践技能通过实训,我们掌握了Linux系统的基本操作和管理技能。
我们能够使用命令行界面进行文件和目录管理,熟悉常用的Linux命令,如ls、cd、mkdir、rm等。
同时,我们也学会了使用Linux的图形用户界面(GUI)进行更直观和友好的操作。
4.2 安全性我们了解了Linux系统的安全性措施和实施方法。
通过实践,我们学会了设置用户和组的权限,控制对文件和目录的访问权限。
我们还学习了如何使用防火墙、访问控制清单(ACL)和加密等安全措施来保护系统和数据的安全。
4.3 网络配置我们学习了Linux系统的网络配置和管理。
通过实践,我们能够配置网络接口、设置IP地址和子网掩码,以建立和管理网络连接。
我们还了解了Linux的网络工具和服务,如ping、curl、ssh等。
5. 实训中遇到的问题和解决方法在实训过程中,我们可能会遇到各种技术和操作上的问题。
我们通过查阅文档、互相讨论和请教老师等方式解决了这些问题。
例如,我们可能会遇到软件安装失败、命令行操作错误等问题,通过调试和尝试,我们找到了具体的解决方法。
6. 实训心得和建议通过实训,我们深入了解了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操作系统实验报告书(1)一.实验名称:Linux基本命令的使用二.实验目的:1.进一步练习Linux登录和退出的方法2.练习与目录和文件操作相关的Linux命令:cd:切换目录mkdir:建立一个新目录cp:文件拷贝ls:显示目录及文件的内容mv:更改文件名称cat、more、less:浏览文件内容chmod:更改文件或目录的访问权限rm:删除文件rmdir:删除目录三.实验内容:1.登录进入Linux 系统。
2.将工作目录切换到根目录,用ls命令查看根目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。
3.在家目录下建立一个名为test的新目录,将工作目录切换到test下,然后将/tmp下的文件lesson.log拷贝到该目录下,并将lesson.log用mv命令改名为:TestRenName.txt。
4.用cat命令浏览文件TestRenName.txt的内容,用more命令进行浏览翻页操作。
再用less命令浏览文件TestRenName.txt的内容。
5.用ls命令查看test下的文件的权限,并更改文件TestRenName.txt的权限为:只允许自己读写,不允许其他用户访问。
用ls命令查看更改后的结果后再将文件TestRenName.txt的权限更改为系统默认的权限:-rw-r--r--。
6.用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。
7.用logout命令退出系统。
四.结果分析:五.实验心得*********************************************************************linux操作系统实验报告书(2)一.实验名称:Linux基本命令的使用二.实验目的:1. 掌握监视系统的几个Linux基本命令:PS--查看系统的进程tty--查看当前使用的终端df--查看系统的文件系统的空间使用情况du--查看具体某个文件和目录的磁盘空间的占用情况free--查看使用的内存资源的情况2. 掌握Linux下的联机帮助手册的使用3. 掌握Linux命令的简要帮助的获取方法4. 掌握一些其他常用的Linux命令:cal--显示日历date--显示系统的日期和时间clear--清屏find--查找文件uname--查看系统信息who--查看其他登录的用户which--查看命令的全路径tar--Linux下的压缩与解压缩命令三.实验内容:1.使用ps查看系统的进程运行情况,使用不同的命令选项并比较显示结果的差别;查看当前系统已安装的文件系统的空间使用情况;查看用户的家目录占用了多少空间;查看使用的内存资源的情况.2.查看ls命令的详细使用方法,查看ps命令的详细使用方法.3.获取ls命令的简要帮助信息,获取ps命令的简要帮助信息.4.用cal命令显示日历,用date命令显示系统的日期和时间,用clear清除屏幕,用find命令在系统中查找文件ch1.doc,用uname命令查看系统的信息,用who 命令查看其他登录的用户,用which命令查看一些命令的全路径,用tar命令来压缩test目录下的所有后缀为doc的文件到文件doc.tar.gz中,将doc.tar.gz 复制到用户的家目录并展开压缩文件.四.结果分析:1. 要查看系统的进程运行情况可使用ps命令:[stu@cs-linux stu]$ psPID TTY TIME CMD4442 pts/0 00:00:00 bash11683 pts/0 00:00:00 ps第一列中的PID表示进程编号,第二列中的TTY表示提交该进程的终端号,第三列中的TIME表示该进程已运行的时间,第四列中的CMD表示该进程所对应的命令.如果要显示进程更详细的信息,可以使用参数ps u:[stu@cs-linux stu]$ ps uUSER PID %CPU %MEM VSZ RSSTTY STAT START TIME COMMAND501 4442 0.0 0.3 5560 784 pts/0 S 09:45 0:00 bash501 11684 0.0 0.2 2592 644 pts/0 R 10:16 0:00 ps -uUSER表示进程拥有者,%CPU表示CPU时间的占用比例,%MEM表示内存的占用比例,VSZ表示进程的大小,RSS表示常驻内存部分大小,START表示进程的启动时间.如果要用长格式显示系统进程的信息,可以使用参数ps l:[stu@cs-linux stu]$ ps lFS UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME C MD4 S 501 4174 4173 0 75 0 - 1389 wait4 pts/0 00:00:00 bash0 R 501 4201 4174 0 80 0 - 776 - pts/0 00:00:00 ps要查看当前系统已安装的文件系统的空间使用情况,使用命令df:[stu@cs-linux stu]$ df文件系统1K-块已用可用已用% 挂载点/dev/hda7 9574520 2833764 6254392 32% /none 111472 0 111472 0% /dev/shm/dev/hda5 30701232 13538096 17163136 45% /mnt/hdd要查看用户的家目录占用了多少空间,先将工作目录切换到家目录,再使用命令du:[stu@cs-linux stu]$ du12 ./.kde/Autostart16 ./.kde8 ./.xemacs4 ./test64 .以上结果表示家目录公占用64KB的空间.要查看使用的内存资源的情况,应使用命令free:[stu@cs-linux stu]$ freetotal used free shared buffers cached Mem: 222948 216688 6260 0 17832 92792 -/+ buffers/cache: 106064 116884Swap: 514040 0 514040以上结果表示系统内存及交换空间使用情况.2. 查看ls命令的详细使用方法,使用命令man ls:[stu@cs-linux stu]$ man ls(.......显示内容省略)查看ps命令的详细使用方法,使用命令man ps:[stu@cs-linux stu]$ man ps(.......显示内容省略)3. 获取ls命令的简要帮助信息,可使用命令ls --help:[stu@cs-linux stu]$ ls --help(.......显示内容省略)获取ps命令的简要帮助信息,可使用命令ps --help:[stu@cs-linux stu]$ ps --help(.......显示内容省略)4. 要显示日历可使用命令cal:[stu@cs-linux stu]$ cal六月2004日一二三四五六1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30以上用命令cal不加任何参数时显示当月日历,如果要指定查看某年某月的日历,可以加[月][年]参数,如要查看2004年8月:[stu@cs-linux stu]$ cal 08 2004八月2004日一二三四五六1 2 3 4 5 6 78 9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31要显示系统的日期和时间,可使用命令date:[stu@cs-linux stu]$ date五6月18 11:23:23 CST 2004表示当前时间为2004年6月18日星期五11:23:23.用clear命令清除屏幕,之后将把已前显示的结果清除:[stu@cs-linux stu]$ clear用find命令在系统中查找文件ch1.doc,应首先退出到根目录下,在使用命令find ch1.doc:[stu@cs-linux /]$ cd /[stu@cs-linux /]$ find / -name "ch1.doc"find: /home/wb: 权限不够/home/stu/test/ch1.doc结果表示找到的文件在/home/stu/test/目录下.用uname命令查看系统的信息:[stu@cs-linux /]$ unameLinux用who命令查看其他登录的用户:[stu@cs-linux /]$ whostu tty1 Jun 18 14:22root pts/0 Jun 18 14:23 (:0.0)用which命令查看一些命令的全路径,如查看命令ls和ps的全路径:[stu@cs-linux /]$ which lsalias ls='ls --color=tty'/bin/ls[stu@cs-linux /]$ which ps/bin/ps用tar命令来压缩test目录下的所有后缀为doc的文件到文件doc.tar.gz中,如下:[stu@cs-linux test]$ tar cvf doc.tar.gz *.docch1.docch2.doc[stu@cs-linux test]$ lsch1.doc ch2.doc doc.tar.gz sesson.txt使用命令加参数cvf来打包所有后缀为doc的文件,参数c表示建立新文档,参数v表示在处理过程中显示相关信息,参数f表示以文件方式打包.现test目录下共有doc文件2个,所以显示ch1.doc,ch2.doc.打包后用ls命令查看,发现多了一个doc.tar.gz文件,表明操作成功.将doc.tar.gz复制到用户的家目录并展开压缩文件:[stu@cs-linux test]$ cd ..[stu@cs-linux stu]$ cp test/doc.tar.gz doc.tar.gz[stu@cs-linux stu]$ tar xvf doc.tar.gz *.docch1.docch2.doc[stu@cs-linux stu]$ lsch1.doc ch2.doc doc.tar.gz test第三行的参数x表示解包文件.五.实验心得这一章主要学习了Linux下的一些关于监视系统的命令以及一些常用辅助命令,对于一个Linux的系统管理员,掌握这些命令的使用是非常重要的,因为这些命令不仅可以让系统管理员了解到系统的运行情况,还可以了解到磁盘及内存的占用情况,以便系统管理员根据情况作出相应调整。
Linux及应用实验报告
大连民族学院计算机科学与工程学院《Linux及应用》实验报告题目:Linux 基础实验专业:计算机科学与技术班级:计科095学生姓名:卢松学号:20090815172011 年11月18 日1实验一 LINUX系统的基本命令LINUX系统的启动与退出启动Linux系统:启动LINUX系统,直接加电就可以,但必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,当用户正确地输入用户名和口令后,就能合法地进入系统。
屏幕显示:[root@loclhost /root] #注意超级用户的提示符是“#”,其他用户的提示符是“$”。
退出系统:exit命令不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。
shutdown命令功能:shutdown 命令可以安全地关闭或重启Linux系统。
该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。
命令格式:shutdown [选项] [时间] [警告信息]命令中各选项的含义为:- k 并不真正关机,而只是发出警告信息给所有用户。
- r 关机后立即重新启动。
- h 关机后不重新启动。
- f 快速重新启动,重新启动时不检查所有文件系统。
- t n 在向进程发出警告信号后等待n秒后关机。
- c 取消一个已经运行的shutdown。
需要特别说明的是,该命令只能由超级用户使用。
例:#shutdown now 立即关机#shutdown +5 “System will shutdown after 5 minutes”发出提示信息5分钟后,系统关机.#shutdown –r now 立即关闭系统并重新启动.halt 命令功能:只能由超级用户执行的关机命令.Linux系统对文件和目录的操作命令一、对文件的操作命令ls 命令功能:对于每个目录,该命令将列出其中的所有子目录与文件。
LINU系统及其编程 实验报告
LINU系统及其编程实验报告实验报告:Linux系统及其编程一、实验目的本次实验旨在熟悉和掌握Linux系统的基本操作,了解Linux系统下编程环境的基本设置,以及掌握基本的编程和调试技能。
二、实验内容1、Linux系统安装及基本操作2、Linux编程环境设置3、编写并运行C程序4、使用调试工具进行程序调试三、实验步骤及结果1、Linux系统安装及基本操作(1) 实验步骤1、从官方网站下载Linux系统镜像,并使用U盘进行安装。
2、安装过程中,选择合适的分区方案和软件包。
3、成功安装系统后,进行基本设置,包括网络连接、用户账号创建等。
(2) 实验结果成功安装Linux系统,并能够进行日常的基本操作,如文件管理、软件安装等。
2、Linux编程环境设置(1) 实验步骤1、安装编译器(如GCC)、编辑器(如Vim或Nano)和调试工具(如GDB)。
2、配置环境变量,确保编译器和调试工具能够在系统任何位置运行。
(2) 实验结果成功安装并配置了编程环境,能够在Linux系统下编译和运行C程序。
3、编写并运行C程序(1) 实验步骤1、使用编辑器创建一个简单的C程序,实现两数相加。
2、使用编译器(如GCC)编译程序,并生成可执行文件。
3、运行可执行文件,查看结果。
(2) 实验结果成功编写并运行了C程序,得到了预期的结果。
4、使用调试工具进行程序调试(1) 实验步骤1、在代码中添加一些错误,观察程序是否能正确运行。
2、使用调试工具(如GDB)对程序进行调试,找到并修复错误。
3、重新编译并运行程序,查看修复错误后的结果。
(2) 实验结果成功使用调试工具找到了程序中的错误,并修复了问题,得到了正确的结果。
四、实验总结通过本次实验,我对Linux系统的基本操作和编程环境有了更深入的了解。
掌握了Linux系统下的文件管理、软件安装和配置等操作,学会了编写和调试C程序。
此外,还学习了如何使用调试工具查找和修复程序中的错误。
linux系统及应用(应用开发)实验报告册
..合肥师范学院实验报告册2013-2014第二学期系别计算机科学与技术实验课程linux系统及应用专业11级计算机科学与技术班级嵌入式应用技术姓名学号指导教师何冀军实验项目一览表实验一Linux系统安装和简单配置一、实验目的(1)掌握Linux操作系统的安装步骤;(2)掌握Linux系统的简单配置方法;(3)掌握Linux系统的启动、关闭步骤。
二、实验内容(1)安装Linux系统;(2)配置Linux系统运行环境;(3)正确地启动、关闭系统。
三、实验软件VMWare Workstation 5.0;Red hat linux 9.0镜像文件;四、实验主要步骤(1)配置并安装操作系统;(2)vi创建程序并实用GCC编译;(3)运行程序;五、实验结果实验项目二Linux基本命令的使用一、实验目的(1)掌握Linux一般命令格式;(2)掌握有关文件和目录操作的常用命令;(3)掌握有关进程操作的常用命令;(4)熟练使用man命令。
二、实验内容(1)正确地登陆和退出系统;(2)熟悉date,cal,who,echo,clear,passwd命令;(3)在用户主目录下对文件进行如下操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;(4)对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;(5)利用man显示date,echo等命令的手册页;(6)显示系统中的进程信息。
三、实验软件VMWare Workstation 5.0;Red hat linux 9.0;四、实验主要步骤1、登录进入系统,修改个人密码。
2、使用简单命令:date,cal,who,echo,clear等,了解linux命令格式;3、浏览文件系统:(1)运行pwd命令,确定当前工作目录;(2)运行ls –l命令,理解各字段含义;(3)运行ls –ai命令,理解各字段含义。
(4)使用cd命令,将工作目录改到根目录(/)上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合肥师范学院实验报告册2013-2014第二学期系别计算机科学与技术实验课程 linux系统及应用专业 11级计算机科学与技术班级嵌入式应用技术姓名学号指导教师何冀军实验项目一览表实验一Linux系统安装和简单配置一、实验目的(1)掌握Linux操作系统的安装步骤;(2)掌握Linux系统的简单配置方法;(3)掌握Linux系统的启动、关闭步骤。
二、实验内容(1)安装Linux系统;(2)配置Linux系统运行环境;(3)正确地启动、关闭系统。
三、实验软件VMWare Workstation 5.0;Red hat linux 9.0镜像文件;四、实验主要步骤(1)配置并安装操作系统;(2)vi创建程序并实用GCC编译;(3)运行程序;五、实验结果实验项目二Linux基本命令的使用一、实验目的(1)掌握Linux一般命令格式;(2)掌握有关文件和目录操作的常用命令;(3)掌握有关进程操作的常用命令;(4)熟练使用man命令。
二、实验内容(1)正确地登陆和退出系统;(2)熟悉date,cal,who,echo,clear,passwd命令;(3)在用户主目录下对文件进行如下操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;(4)对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;(5)利用man显示date,echo等命令的手册页;(6)显示系统中的进程信息。
三、实验软件VMWare Workstation 5.0;Red hat linux 9.0;四、实验主要步骤1、登录进入系统,修改个人密码。
2、使用简单命令:date,cal,who,echo,clear等,了解linux命令格式;3、浏览文件系统:(1)运行pwd命令,确定当前工作目录;(2)运行ls –l命令,理解各字段含义;(3)运行ls –ai命令,理解各字段含义。
(4)使用cd命令,将工作目录改到根目录(/)上。
(5)直接使用cd,用pwd命令验证回到的位置。
(6)用mkdir建立一个子目录subdir;(7) 将工作目录改到subdir.4、文件操作(1)验证当前工作目录在subdir;(2)运行date >file1,然后运行cat file1,看到什么信息?(3)运行cat subdir,会有什么结果,为什么?(4)利用man 命令显示date 命令的使用说明;(5)运行man date>>file1,看到什么?运行cat file1,看到什么?(6)利用ls –l file1,了解链接计数是多少?运行ln file1 ../fa,再运行ls –l file1,看链接计数有无变化?用cat命令显示fa文件内容。
(7)显示file1的前10行,后10行。
(8)运行cp file1 file2,然后ls –l,看到什么?运行mv file2 file3,然后ls –l看到什么?运行cat f*,结果怎样?(9)运行rm file3,然后ls –l,结果如何?(10)在/etc/passwd文件中查找适合你注册名的行.(11)运行ls –l,理解各文件的权限是什么?(12)用两种方式改变file1的权限。
(13)统计file1文件的行数、字数。
(14)运行man ls|more,显示结果是什么?运行cat file1|head -20|tee file5 ,结果如何?运行cat file5|wc,结果如何?五、实验结果实验项目三vi编辑器一.实验目的学习使用vi编辑器建立、编辑、显示及加工处理文本文件。
二.实验内容(1)进入和退出vi;(2)利用文本插入方式建立一个文件;(3)在新建的文本文件上移动光标位置;(4)对该文件执行删除、复原、修改、替换等操作。
三.实验软件VMWare Workstation 5.0;Red hat linux 9.0;四.实验主要步骤1、进入vi;2、建立一个文件,如file.c.进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。
最后将该文件存盘。
回到shell状态下。
3、运行gcc file.c –o myfile,编译该文件,会发现错误提示。
理解其含义。
4、重新进入vi,对该文件进行修改。
然后存盘,退出vi。
重新编译该文件。
如果编译通过了,可以用./myfile运行该程序。
5、运行man date > file10,然后vi file10.使用x,dd等命令删除某些文本行。
使用u命令复原此前的情况。
使用c,r,s等命令修改文本内容。
使用检索命令进行给定模式的检索。
五.实验结果实验项目四shell编程一、实验目的(1)了解shell的作用和主要分类;(2)掌握bash的建立和执行方式;(3)掌握bash的基本语法;(4)学会编写shell脚本。
二、实验内容(1)shell脚本的建立和执行;(2)历史命令和别名定义;(3)shell变量和位置参数、环境变量;(4)bash的特殊字符;(5)一般控制结构;(6)算术运算及bash函数。
三.实验软件VMWare Workstation 5.0;Red hat linux 9.0;四.实验主要步骤1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。
然后以不同方式执行脚本。
2、运行history命令,配置历史命令环境。
3、体会bash的命令补齐功能。
4、用alias定义别名,然后执行。
5、编辑如下脚本进行执行:6、编写一个shell脚本,求斐波那契数列的前10项及总和。
7、设计一个程序cuts,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。
例如:$cuts 11 14tis is a test of cuts program (输入)tst(显示结果五.实验结果实验项目五常用开发工具一.实验目的(1)掌握C语言编译的基本用法;(2)掌握gdb调试工具的基本用法;(3)理解make工具的功能,学会编制makefile的方法。
二.实验内容(1)利用gcc编译C语言程序,使用不同选项,观察并分析显示结果;(2)用gdb调试一个编译后的C语言程序;(3)编写一个由多个文件构成的C语言程序,编制makefile,运行make工具进行维护。
三.实验软件VMWare Workstation 5.0;Red hat linux 9.0;四.实验主要步骤1、改写例6.1,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l。
2、完成对思考题6.5、6.6的调试。
3、完成对思考题6.9的编制,并使用make进行维护。
五.实验结果实验项目六Linux内存管理一、实验目的(1)了解Linux内存管理的基本原理和方法;(2)了解内存申请和释放的方式;(3)掌握malloc,realloc,free,calloc 函数的使用。
二、实验内容(1)使用C语言编写一个包含内存分配与释放的程序,观察分析并显示运行结果;(2)通过gdb等工具对程序进行调试;(3)在程序运行过程中观察系统内存的使用情况,验证内存管理函数的执行效果。
三.实验软件VMWare Workstation 5.0;Red hat linux 9.0;四.实验主要步骤(1)内存库函数实验-malloc函数,运行程序清单6-1,写明运行结果。
(2)内存库函数实验-calloc函数,运行程序清单6-2,写明运行结果。
(3)内存库函数实验-realloc函数,运行程序清单6-3,写明运行结果。
(4)内存错误分析实验:指出程序清单6-4的内存错误原因。
指出程序清单6-5的内存错误原因。
通过比较程序清单6-6、6-7输出结果,分析程序6-3内存错误原因。
五.实验结果程序清单:(1)5-1#include <syslib.h>#include <alloc.h>main(){char *p;clrscr();// clear screenp=(char *)malloc(100);if(p)printf("Memory Allocated at: %x",p);elseprintf("Not Enough Memory!\n"); free(p);return 0;}(2)5-2#include <syslib.h>#include <alloc.h>main(){char *p;clrscr();// clear screenp=(char *)calloc(100,sizeof(char));if(p)printf("Memory Allocated at: %x",p); elseprintf("Not Enough Memory!\n"); free(p);return 0;}(3)5-3#include <syslib.h>#include <alloc.h>main(){char *p;clrscr();// clear screenp=(char *)malloc(100);if(p)printf("Memory Allocated at: %x",p); elseprintf("Not Enough Memory!\n");p=(char *)realloc(p,256);if(p)printf("Memory Reallocated at: %x",p); elseprintf("Not Enough Memory!\n"); free(p);return 0; }(4)5-4……VoidApplyForMem(char *p,int num){p=(char*)malloc(sizeof(char)*num);return;}intmain(){char *str=NULL;………….ApplyForMem(str,300);free(str);infile.close();return 0;}(5)5-5#include <unistd.h>#include <stdlib.h>#include <stdio.h>int main() {char z = *(const char *)0;exit(EXIT_SUCCESS);}(6)5-6#include “stdlib.h”#define HEAP_BLOCK_SIZE 32int main(){// 分配申明heap 内存块1char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTest block 1 (%d bytes) at %08Xh", sizeof(pbuf1), pbuf1);*pbuf1 = '1';//分配申明heap 内存块2char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTest block 2 (%d bytes) at %08Xh", sizeof(pbuf2), pbuf2);*pbuf2 = '2';//分配申明heap 内存块3char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTest block 3 (%d bytes) at %08Xh", sizeof(pbuf3), pbuf3);*pbuf3 = '3';// 释放heap 内存块1printf("HeapTest block 1 (%d bytes) at %08Xh freed",sizeof(pbuf1), pbuf1); free(pbuf1);//释放heap 内存块2printf("HeapTest block 2 (%d bytes) at %08Xh freed",sizeof(pbuf2), pbuf2);free(pbuf2);//释放heap内存块3printf("HeapTest block 3 (%d bytes) at %08Xh freed",sizeof(pbuf3), pbuf3); free(pbuf3);//分配申明heap 内存块4char *pbuf4 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTest block 4 (%d bytes) at %08Xh", sizeof(pbuf4), pbuf4);*pbuf4 = '4';//分配申明heap 内存块5char *pbuf5 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTest block 5 (%d bytes) at %08Xh", sizeof(pbuf5), pbuf5);*pbuf5 = '5';//分配申明heap 内存块6char *pbuf6 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTest block 6 (%d bytes) at %08Xh", sizeof(pbuf6), pbuf6);*pbuf6= '6';for(;;) {Sleep(1000);}return 0;}(7)5-7#include “stdlib.h”#define HEAP_BLOCK_SIZE 32int main(){// 分配申明heap 内存块1char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTest block 1 (%d bytes) at %08Xh", sizeof(pbuf1), pbuf1);*pbuf1 = '1';//分配申明heap 内存块2char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTest block 2 (%d bytes) at %08Xh", sizeof(pbuf2), pbuf2);*pbuf2 = '2';//分配申明heap 内存块3char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTest block 3 (%d bytes) at %08Xh", sizeof(pbuf3), pbuf3);*pbuf3 = '3';// 释放heap 内存块3printf("HeapTest block 3 (%d bytes) at %08Xh freed",sizeof(pbuf3), pbuf3); free(pbuf3);//释放heap 内存块2printf("HeapTest block 2 (%d bytes) at %08Xh freed",sizeof(pbuf2), pbuf2); free(pbuf2);//释放heap内存块1printf("HeapTest block 1 (%d bytes) at %08Xh freed",sizeof(pbuf1), pbuf1);free(pbuf1);//分配申明heap 内存块4char *pbuf4 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTest block 4 (%d bytes) at %08Xh", sizeof(pbuf4), pbuf4);*pbuf4 = '4';//分配申明heap 内存块5char *pbuf5 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTest block 5 (%d bytes) at %08Xh", sizeof(pbuf5), pbuf5);*pbuf5 = '5';//分配申明heap 内存块6char *pbuf6 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTest block 6 (%d bytes) at %08Xh", sizeof(pbuf6), pbuf6);*pbuf6= '6';for(;;) {Sleep(1000);}return 0;}实验项目六Linux环境编程一.实验目的(1)理解系统调用和库函数的异同;(2)学会用系统调用和库函数进行编程;(3)掌握一些常用的系统调用和库函数的功能及应用。