linux实验报告 - 图文

更新时间:2023-12-29 16:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学 生 实 验 报 告

课程名称:

学生学号:

所属院部:

(理工类)

Linux操作系统 专业班级:12软件工程(Z)

1205107014 学生姓名: 陈 爽

软件工程学院 指导教师: 李 莉

2014——2015 学年 第 2 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:RedHat Linux9.0的安装与配置 实验学时: 2 同组学生姓名: 实验地点: A205 实验日期: 2015.3.2 实验成绩: 批改教师: 李 莉 批改时间:

一、实验目的和要求

1.熟悉和掌握Red Hat Linux9.0服务器的安装与配置; 2.掌握inux的基本命令使用和功能。

二、实验内容

1.利用PC虚拟机来安装与配置Red Hat inux9;

2.完成安装配置后掌握一些界面及必要的inux命令使用和功能。

三、实验过程与步骤

1)安装虚拟机:

(1) 启动VMware Workstation ;

(2) 单击“File”—“New” —“virtual machine”,出现新建虚拟机的欢迎界面,点击“next”;

(3)选择安装程序光盘映像文件,点击“next”;

(4)选择客户操作系统为“linux”

(5)给虚拟机命名为“Red Hat Enterprise Linux 5”,并选择存储路径。点击“next”;

(6)指定最大的磁盘容量为20GB,点击“next”,再点击“finish”。

(7)选择菜单“VM”->“Settings”,选中CD/DVD,在右侧“Use ISO image file”中选择A.ISO。

(8)在Red Hat Linux欢迎界面中,单击OK,再单击Test,来测试第一张CD。同理,再选择B.iso 和C.iso 来分别测试。测试完毕后,再单击“continue”.

(9)进入安装界面,点击“next”

(10)选择“简体中文”,然后一直next,直到磁盘分区设置,选择“自动分区”,单击“下一步”,在弹出的警告是否初始化驱动器并删除所有数据中,选择“是”。然后一直下一步:

(11)在设置根口令窗口中,输入根口令并确认,继续下一步:

(12)当安装软件包时,根据提示,插入其他光盘。一直下一步。

(13)进入欢迎界面,点击前进。

(14)创建用户账号,输入用户名和口令,一直点击前进,直到结束设置。

(15)进入登录界面,输入用户名和

(16)登录成功,进入系统桌面

2)思考题

1. Linux有几种安装方法?

答:两种,在虚拟机上安装和在实体机上安装

2.什么是主分区?什么是扩展分区?什么是逻辑分区?

答:硬盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。一个硬盘可以有一个主分区,一个扩展分区,也可以只有一个主分区没有扩展分区。逻辑分区可以若干。

主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区,正常分的话就是C驱。分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。

硬盘的容量=主分区的容量+扩展分区的容量 扩展分区的容量=各个逻辑分区的容量之和

主分区也可成为“引导分区”,会被操作系统和主板认定为这个硬盘的第一个分区。所以C盘永远都是排在所有磁盘分区的第一的位置上。除去主分区所占用的容量以外,剩下的容量被认定为扩展分区。通俗的讲就是主分区是硬盘的主人,而扩展分区是这个硬盘上的仆人,主分区和扩展分区为主从关系。扩展分区如果不再进行分区了,那么扩展分区就是逻辑分区了。如果还需要进行分区操作的话,则所谓的逻辑分区只能从扩展分区上操作。就相当于在仆人中(扩展分区上)进行细分类,分成接电话的(D盘)、扫地的(E盘)、做饭的(F盘)等等。

3.怎样使用Disk Druid 工具建立磁盘分区?

答:步骤1 如果要使用Disk Druid程序进行磁盘手动分区,您需在安装时的选择磁盘分区方式画面中,选择“Create custom layout”选项,之后单击“下一步”按钮。

步骤2 出现目前的磁盘分区窗口,在此画面中分为上下两个部分。在画面上方出现的图形会显示出目前计算机中安装的硬盘名称(在本书中的示例为/dev/hda)、硬盘上的剩余空间(在本书中的示例为8192 MB),以及安装程序检测出的硬盘型号(在本书中的示例为VMware Virtual IDE Hard Drive)。另外还包含“新建”、“编辑”、“删除”、“重设”、“RAID”和“LVM”按钮,以供执行不同的磁盘设置。

步骤3 如果要添加分区,则首先单击“新建”按钮,出现“添加分区”窗口画面,如图5-9所示。您需在“挂载点”框中输入或选择分区名称,例如/boot,之后再设置“文件系统类型”、“允许的驱动器”和“大小(MB)”等。

步骤4 您可以利用以上的步骤来添加所需的分区类型及数量,在完成分区的添加后,这些分区名称及信息都会出现在原来的磁盘设置窗口中

步骤5 如果要修改分区的字段内容,首先单击要修改的分区名称,然后单击“编辑”按钮,则安装程序会出现“编辑分区”窗口以供编辑部分或全部选项

步骤6 如果已不再需要某些分区,则可先单击要删除的分区名称,之后单击“删除”按钮以删除指定的分区,此时会出现“确认删除”信息窗口,以确认任何分区的删除动作

四、实验分析与思考

在本次实验中,我学会了安装虚拟机以及red hat的方法,还初步体验了一些linux的基本命令,明白了linux和windows的差异,但是我知道还有很多命令需要学习,学会linux命令摆脱windows桌面,可以节省很多硬件资源,在以后工作后会给公司带来更大效益,也进一步提升了自己的个人价值!

实验项目名称:Linux常用命令 实验学时: 2 同组学生姓名: 实验地点: A205 实验日期: 2015.3.4 实验成绩: 批改教师: 李 莉 批改时间:

一、实验目的和要求

熟悉Linux操作环境,熟悉GNOME图形界面,熟悉并掌握Linux文件系统相关知识,使用并掌握Linux的文件和目录常用命令,掌握Linux各类命令的使用方法。

二、实验内容

1、练习使用Linux文件和目录常用命令。 2、练习使用查看系统信息的常用命令。 3、练习使用网络通信类常用命令。

三、实验过程与步骤

1) 、文件和目录类命令:

启动计算机,利用root用户登录到系统,进入字符提示界面。 用pwd命令查看当前所在的目录。

用ls命令列出此目录下的文件和目录。

用-a选项列出此目录下包括隐藏文件在内的所有文件和目录,命令为(ls -a)。

用man命令查看ls命令的使用手册,其命令为(man ls)。

在当前目录下,创建测试目录test,其命令为(mkdir test)。 利用ls命令列出文件和目录,确认test目录创建成功。

进入test目录,查看当前目录的命令为(pwd),其结果为(/root/test)。

利用touch命令,在当前目录创建一个新的空文件newfie,其命令为(touch newfile)。 利用cp命令复制系统文件/etc/profie到当前目录下,其命令为(cp /etc/profile .)。

复制文件profie到一个新文件profie.bak,作为备份,其命令为(cp profile profile.bak)。 用长格形式列出当前目录下的所有文件,注意比较每个文件的长度和创建时间的不同。ls -al

用less命令分屏查看文件profie的内容,注意练习Less命令的各个子命令,例如b、p、q

等并对then关键字查找。 Less profile b:向后翻页 q:退出

/then 对then关键字进行查找

用grep命令在profie文件中对关键字then进行查询

,其命令为(grep then /etc/profile),并与上面的结果比较。

给文件profie创建一个软链接nsprofie和一个硬链接nhprofie,其命令分别为(ln -s profile

nsprofile)和(ln profile nhprofile)。

用长格形式显示文件profie、nsprofie和nhprofie的详细信息。

删除文件profie,用长格形式显示文件nsprofie和nhprofie的详细信息,比较文件nhprofie

的链接数的变化。 Nsprofile连接数不变还是为1 Nhprofile的连接数少1,从2变为了1

用Less命令查看文件nsprofie的内容,看看有什么结果。

用Less命令查看文件nhprofie的内容,看看有什么结果。

删除文件nsprofie,显示当前目录下的文件列表,回到上层目录。 rm nsprofile ll cd ..

用tar命令把目录test打包,其命令为(tar zcvf test.tar.gz test)。 用gzip命令把打好的包进行压缩,其命令为(gunzip test.tar.gz)。

把文件test.tar.gz改名为backup.tar.gz,其命令为(mv test.tar.gz backup.tar.gz)。 显示当前目录下的文件和目录列表,确认重命名成功。

把文件backup.tar.gz移动到test目录下其命令为(mv backup.tar.gz test)。 显示当前目录下的文件和目录列表,确认移动成功。 进入test目录,显示目录中的文件列表。

把文件test.tar.gz解包,其命令为(tar –zxvf test.tar.gz)。

显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。 Cp –R test testbak

查找root用户自己的主目录下的所有名为newfie的文件,其命令为(find / –name newfile )。

删除test子目录下的所有文件,其命令为(rm –rf *)。 利用rmdir命令删除空子目录test,其命令为(rmdir test)。

回到上层目录,利用rm命令删除目录test和其下所有文件其命令为(rm -rf test)。 2)、系统信息类命令

利用date命令显示系统当前时间,并修改系统的当前时间。 Date

Date –s “20060901”

显示当前登录到系统的用户状态。

利用free命令显示内存的使用情况。

利用df命令显示系统的硬盘分区及使用状况。 df

显示当前目录下的各级子目录的硬盘占用情况。 du

3)、网络通信类命令

显示网卡参数的配置情况,包括IP地址、子网掩码、广播地址等

3、新建文件test1和目录test2,查看它们的权限是否与2中的默认权限相符 [root@localhost root]#umask [root@localhost root]#touch test1 [root@localhost root]#mkdir test2 [root@localhost root]#ll

4、修改pwd.sh文件权限为r-xr--r--。 Chmod u-w+x pwd.sh 5、执行pwd.sh。(提示:执行本路径下文件的命令是 ./文件名)。 ./pwd.sh

6、添加用户stu,修改密码为123。 Useradd stu Passwd

7、修改文件test1的属主为stu,test1所属的组为stu。 Chowm stu test1 Chgrp stu test1

8、增加test1的属主具有可执行的权限。 Chmod u+x test1

9、查看文件/root/.bashrc的类型

[root@localhost root]#file /root/.bashrc

10、找出系统中所有与passwd相关的文件名 Find / –name “passwd”

[root@localhost root]#whereis -m passwd 11、找出系统中大于1M的文件 Find / size 100+

12、找出/etc下文件类型为f的文件 Find /etc –type f

13、使用find查找/下面所有名称为man.config的文件。 Find / -name “man.config”

14、找出文件名为man.config的文件

Find /-name “man.config”

15、用whereis命令查找man文件 Whereis man

16、使用locate查找所有名称为man.config的文件。 Locate /

17、13步和14步的结果一样么?为什么?

不一样,locate 更加详细与man.config相关联的也都列出来

(四)、进程管理与系统监测

1、查看当前所有进程 ps

2、查看当前进程树,找出ps进程的父进程是哪个进程。 Pstree

3、查看进程树,并且在进程树中显示进程ID(PID)。 Pstree -p

4、杀死bash进程,发了什么事?

5、进入vi vi

6、将vi切换到后台 先后按esc和:接着按a

7、使用at命令,星期五4:30分执行关机命令。 At 4:30 now +1 day Power off

8、将刚才切换到后台的vi切换到前台 vi

9、退出vi Esc+”:”+q

10、重复运行命令#ps aux |grepps,看其PID有变化吗。 11、用top命令进行系统的监视,分别执行“M”、“T”、“U”看显示的内容有什么不同,用“K”结束“top”进程,结果如何。

四、实验心得

在本次实验中,我学会了查看及修改系统运行级别的方法,并且领悟了计算机多用户的设计机制,还懂得了怎么管理用户账号,更进一步地熟练地掌握了linux命令,如文件权限、文件查找、进程管理、查看系统信息等命令。最大的收获,莫过于激起了自己对linux的学习兴趣!

实验项目名称: Shell程序设计 实验学时: 4 同组学生姓名: 实验地点: A205 实验日期: 2015.3.11\\12\\16 实验成绩: 批改教师: 李 莉 批改时间:

一、实验目的和要求

熟悉并掌握shell的各项功能,掌握并能应用Vi编辑器编辑程序,能读懂shell程序,并能编写及运行简单的shell程序。

二、实验内容

1、熟悉Shell环境,使用Shell的各种功能 2、阅读shell程序,上机实验验证结果 3、编写简单的shell程序

三、实验过程与步骤

(一)、使用Shell的各种功能

1.命令补齐功能

用mkdir命令创建新的目录。首先输入第一个字母m,然后按tab键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n;再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。在列表中查找mkdir命令,看看还需要多输入几个字母才能确定mkdir这个命令,然后输入需要的字母,再按tab键,让shell补齐剩下的命令。最后输入要创建的目录名,按回车键执行命令。

2.命令别名功能

输入alias命令,显示目前已经设置好的命令的别名。设置别名ls为ls–l,以长格形式显示文件列表:#alias ls=‘ls -l’。

3.输出重定向

1)使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件lis中

2)查看文件list中的内容

4.输入重定向

1)使用输入重定向,把上面生成的文件list用mail命令发送给自己#mail root < list。 2)查看新邮件,看看收到的新邮件中其内容是否为list文件中的内容。

5.管道

1)利用管道和grep命令,在上面建立的文件list中查找字符串list:#cat list | grep list。

2)利用管道和wc命令,计算文件list中的行数、单词数和字符数:

6.查看和修改Shell变量

1)用命令查看系统所有的环境变量

2)设置环境变量PATH的值,把当前目录加入到命令搜索路径中去:#PATH“$PATH:.”。 3)用echo命令查看环境变量PATH的值。

(二)、阅读程序,给出结果,并上机验证

1.阅读以下的shell程序e1.sh,当命令行执行“./e1.sh I am a \”,给出运行结果并上机验证 e1.sh

#!/bin/sh

echo \echo \echo \echo \echo \echo \echo '$*='$* echo '$@='$@ echo '$$='$$

2.阅读以下的shell程序e2.sh,分析程序功能并运行验证结果

Echo “enter a file or directory name:” Read fname

If test -f ${fname}

Then echo “${fname}is an ordinary file-diaplay?” Read ans

If test $ans = ?y? Then

if test –r ${fname} then cat ${fname}

else echo “sorry,${fname} has no read permission” fi Fi

Elif test -d ${fname}

Then echo “${fname} is a directory file – display?” Read ans

If test $ans = ?y? Then

if test –r ${fname}

then ls -l ${fname}

else echo “sorry,${fname} has no read permission” fi Fi

Else echo “${fname} is neither an ordinary file nor a directory” Fi

注:这个程序的功能就是如果文件是普通文件,则显示以下信息: is an ordinary file-display? 如果答案输入是?y?,而且文件是有可读权限的,显示文件,不然,则显示如下信息并退出: sorry ()has no read permission.如果参数是个目录,在用户确认了权限之后显示那个目录里的文件名。如果参数不是普通或者目录文件,显示出错信息并退出

(三)、编程

写个从用户接受一个文件名和一个目录名的shell脚本,脚本要检查文件和目录是否存在。如果存在,文件将被拷贝到指定的目录,如果文件或者目录不存在,显示错误信息。

脚本代码:

运行结果:

四、实验分析与思考

在本次实验中我熟悉了Shell环境,使用了Shell的各种功能,掌握了通过vi编辑器编写shell脚本的方法,不仅能读懂一些简单的shell脚本,还能编写一些脚本并运行,最终得到了自己预期的结果,进一步激发了我学习的热情,通过编写脚本,我们可以完成复杂的功能,我进一步领会了linux系统的强大功能。

实验项目名称: Linux C程序设计 实验学时: 7 同组学生姓名: 实验地点: A205 实验日期: 2015.3.16\\18\\19\\23\\25实验成绩: 批改教师: 李 莉 批改时间:

一、实验目的和要求

加深对进程概念的理解,明确进程与程序的区别;进一步认识并发执行;了解和熟悉Linux支持的管道通信机制及其使用方法;掌握最常用的系统调用或相关函数的用法。了解Linux多线程的程序设计方法,编写Linux环境下的多线程程序。

二、实验内容

任务1.父子进程

编写一段程序,使用系统调用fork()创建一个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示“a“;子进程显示字符”b“。试观察记录屏幕上的显示结果,并分析原因。

程序代码如下:

运行结果如下:

任务2.进程间管道通信

编写一段程序实现进程的管道通信。使用系统调用pipe()建立一个管道,子进程向管道写一句话:“Childis sending a message!”父进程从管道中读出来自子进程的信息并显示: 代码如下:

运行结果如下:

任务3. 多线程程序

编写程序,创建两个线程myThread1和myThread2,每个线程打印一句话。最后主线程等待子线程结束后再退出。(提示:使用pthread_create(&id,NULL,(void *) thread,NULL)完成。)

代码如下;

结果如下:

三、实验过程与步骤

按照要求使用vi编写程序,放在目录(tmp)中,gcc编译成功后执行,并给出执行结果的截图,并完成实验报告。

四、实验分析与思考

在本次试验中,我加深了对进程概念的理解,明确了进程与程序的区别;进一步认识了并发执行;了解和熟悉了Linux支持的管道通信机制及其使用方法;掌握了最常用的系统调用或相关函数的用法。了解了Linux多线程的程序设计方法,编写了Linux环境下的多线程程序。收获颇多!

本文来源:https://www.bwwdw.com/article/04ex.html

Top