《操作系统实验报告样本》.docx
《《操作系统实验报告样本》.docx》由会员分享,可在线阅读,更多相关《《操作系统实验报告样本》.docx(28页珍藏版)》请在冰点文库上搜索。
《操作系统原理》
班级:
计科80902
学号:
090004208
姓名:
冯晓明 指导教师:
朱新山
2010-2011 学年 第 二 学期
实验名称:
LINUX用户界面
实验时间:
2011年4月27日 第10 周 星期3 成绩
一、实验目的
1.基于Windows系统使用经验,熟悉XWindow图形操作环境。
2.熟悉Linux字符操作界面,熟练掌握常用Shell命令。
3.熟悉Linux中文本编辑方法,学会编辑软件vi的使用。
4.了解Linux编绎器gcc的功能,掌握基于Linux平台的C程序开发。
二、实验预习(预备知识的问题及回答)
1.解释文件系统装载和装载点。
由于文件系统的差异,Linux在默认情况下并不支持软盘、光盘和U盘,所以需要通过装载相应盘片才可以访问其中的数据。
装载点是挂载文件系统的目录位置。
2.给出Linux系统中各设备的名称(虚拟机环境中):
软盘 fdo 光盘hdc 硬盘sda Usb接口的优盘 sdb1
。
3.权限的含义是什么?
如何使用数字法设定文件的权限?
权限的含义
Linux系统中的每个文件和目录都有相应的访问许可权限,访问权限分为只读(r),可写(w)和可执行三种。
有三种不同类型的用户可对文件或目录进行访问,分别是文件所有者(u),同组用户(g)和其他用户(o)。
所有的文件和目录都被创建它们的人所“拥有”,只要你是这个文件的所有者或你登录为根用户,你就拥有了改变所有者、组群和其他人权限的权利。
使用数字法改变权限
命令格式chmod权限数值文件名
说明给指定文件赋予数值所规定的权限。
在数字设定法中,每种权限设置均可用数值来代表,其中0表示没有权限,1表
示可执行权限,2表示可写权限,4表示可读权限,这些值之和便可用来设立特定权限。
所以数字属性的格式应为3个0~7的八进制数,3个数表示的次序为u、g和o。
例:
将文件file6设置为rwxr-x—x权限,命令为:
Chmod751file64.什么是I/O重定向?
(1)输入重定向<命令格式 命令<文件名
说明将命令(或可执行程序)的标准输入重定向到指定的文件中。
例:
cat
(2)输出重定向<命令格式 命令>文件名
说明将命令(或可执行程序)的标准输出或标准错误输出重定向到指定文件中。
例:
ls /etc>/test1/etc.txt表示将/etc目录下的文件列表输出到文件/text1/etc.txt中。
5.在Linux中挂载u盘并能显示其文档的中文信息,所使用的挂载命令是:
挂载U盘
命令格式 mount /dev/sda1 /mnt/usb 。
6.什么是vi的三种操作模式?
vi有3种基本工作模式:
命令模式(CommandMode)、输入模式(InsertMode)和末行模式(LastLineMode)。
7.图示三种工作模式转换图。
i,a,o
eso
输入模式
末行模式
:
,?
,/
命令模式
启动vi
三、实验内容(包含实验所用命令或相关程序源代码)
1.shell操作命令
(1)创建名为stu1、stu2的2个用户,设置密码分别为student1和student2 ,并将它们设为组group1中的成员。
#useraddstu1
#passwdstu1回车后敲入密码student1
#groupaddgroup1
#usremod –g group1stu1#useraddstu2–ggroup1
#sustu2
$passwd回车后敲入密码student2
(2)在每个用户的主目录下建立2个目录,分别命名为dir1和dir2。
[stu1@localhostroot]$cd~
[stu1@localhoststu1]mkdirdir1[stu1@localhoststu1]sustu2[stu2@localhoststu2]mkdirdir2
(3)查找stu1用户主目录、下属各子目录的默认存取权限,并给出结论。
$cd~
$ls–l
dir1目录权限为:
drwxr-xr-x,即目录的用户可读、写、执行,同组用户可读、执行,其他用户可读、执行。
$cd..
$ls–l
用户主目录权限为:
drwx ,即目录的用户可读、写、执行,同组和其他用户无任
何权限。
(4)调试pwd和cd命令,回答下列关于Linux文件系统中目录的有关问题。
①用户主目录的绝对路径如何表示?
/home/stu1,/home/stu2
②根目录如何表示?
/
③.和..分别表示什么目录?
本级目录,父目录
④~表示什么目录?
用户主目录
(5)新建用户stu3,设置其密码为student3,并将其设置为group2中成员。
尔后,以stu3登录,在其主目录下建立名为text的目录,在text目录下再建立名为dir1的子目录,并使其成为当前目录。
#groupaddgroup2
#useraddstu3–ggroup2#sustu3
$passwd回车后敲入密码student3
$cd~
$mkdirtext
$mkdirdir1
$cdtext/dir1
(6)使用以下命令,分析下列命令行的显示结果。
$cat>sneakers.txtbuysomesneakers
thengotothecoffeeshopthenbuysomecoff
^D
$catsneakers.txt
命令将输入重定向至文件sneakers.txt中,cat命令可以显示文本文件的内容。
(7)使用上题的方法,在dir1目录中建立home.txt文件,其内容为:
bringthecoffeehome
takeoffshoesputonsneakers
makesomecoffeerelax!
$cd/home/stu1/dir1
$cat>home.txt
bringthecoffeehometakeoffshoes
putonsneakersmakesomecoffeerelax!
[ctrl+D]
(8)试写出实现下列功能的shell命令:
①将home.txt文件移至其上级目录中(即text目录下)。
$mv./home.txt ..
②将home.txt添加到sneakers.txt尾部形成新的文件saturday.txt。
$catsneakers.txt>saturday.txt
$cathome.txt>>Saturday.txt
③将text目录树从stu3用户主目录下移至stu2主目录下。
$su
#mv /home/stu3/text /home/stu2
④将Saturday.txt文件从stu1目录中复制到stu2目录中。
#cp/home/stu1/saturday.txt /home/stu2
(9)试画出上述命令后,用户主目录中的目录树。
2.LinuxC程序开发
(1)使用cat>source命令,建立一个包含若干空行的source文本文件,编写C程序将source中的空行过滤后显示出来。
【源程序】
//程序compact.c如下:
#includemain()
{
intlen=0,i=0,j;
charc,line[100];while((c=getchar())!
=EOF)
{
If(c!
=’\n’)
{line[i]=c;i++;
if(c!
=’’&&c!
=’\t’) len++; //若该行有非空字符,则len长度增加
}
else
if(len>0)
{line[i]=c;
for(j=0;j<=I;j++)printf(“%c”,line[j]);len=0;
i=0;
}
}
}
gcc–o compact compact.ccat>source
thisisline1thisisline2
thisisline4
【运行与测试】:
./compact