《操作系统实验报告样本》文档格式.docx

上传人:b****9 文档编号:13073500 上传时间:2022-10-04 格式:DOCX 页数:28 大小:206.91KB
下载 相关 举报
《操作系统实验报告样本》文档格式.docx_第1页
第1页 / 共28页
《操作系统实验报告样本》文档格式.docx_第2页
第2页 / 共28页
《操作系统实验报告样本》文档格式.docx_第3页
第3页 / 共28页
《操作系统实验报告样本》文档格式.docx_第4页
第4页 / 共28页
《操作系统实验报告样本》文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

《操作系统实验报告样本》文档格式.docx

《《操作系统实验报告样本》文档格式.docx》由会员分享,可在线阅读,更多相关《《操作系统实验报告样本》文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

《操作系统实验报告样本》文档格式.docx

软盘 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<

/etc.txt1表示将/etc.txt1的文件内容作为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..

用户主目录权限为:

drwx ,即目录的用户可读、写、执行,同组和其他用户无任

何权限。

(4)调试pwd和cd命令,回答下列关于Linux文件系统中目录的有关问题。

①用户主目录的绝对路径如何表示?

/home/stu1,/home/stu2

②根目录如何表示?

/

③.和..分别表示什么目录?

本级目录,父目录

④~表示什么目录?

用户主目录

(5)新建用户stu3,设置其密码为student3,并将其设置为group2中成员。

尔后,以stu3登录,在其主目录下建立名为text的目录,在text目录下再建立名为dir1的子目录,并使其成为当前目录。

#groupaddgroup2

#useraddstu3–ggroup2#sustu3

$passwd回车后敲入密码student3

$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如下:

#include<

stdio.h>

main()

{

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)

for(j=0;

j<

=I;

j++)printf(“%c”,line[j]);

len=0;

i=0;

gcc–o compact compact.ccat>

source

thisisline1thisisline2

thisisline4

<

ctrl+d>

【运行与测试】:

./compact<

(2)使用C语言编写一个反向打印程序,使之能够将输入文件中文本行按逆序打印出来

(即后出现的文本行先打印)。

【源程序】#include<

#include<

string.h>

{FILE*fp;

charc,buf[100];

inti=0,len=0,j=0,k;

fp=fopen(“myfile”,”w+”);

//新建一个文件并输入while((c=getchar())!

{fputc(c,fp);

len++;

len=len-1;

while((fseek(fp,-2L,1)==0)&

(j<

len))

{c=fgetc(fp);

i++;

j++;

//i为每行的字符个数,j是总的字符个数

if(c==’\n’){fread(buf,i,1,fp);

for(k=0;

k<

i;

k++)printf(“%c”,buf[k]);

fseek(fp,-i,1);

}

if(j==len) {fseek(fp,-1,1);

//fgetc读取字符后指针后移一个字符,所以要向前移

fread(buf,i,1,fp);

k++) printf(“%c”,buf[k]);

【运行与测试】

3.附加题

使用C语言编写一个词频统计程序,使之能够搜索指定单词在输入文件中的出现次数。

#include<

intmain(argc,argv)intargc;

char*argv[];

{ inti,flag=0;

match=0;

charc,*str;

argv++;

str=*argv;

i=0;

while((c=getchar()!

{if((i<

strlen(*argv))&

(c==*str)&

(flag==0))

{str++;

i++;

}else

{if((i==strlen(*argv))&

(c==’‘||c==’,’||c==’\t’))

//如果匹配的字符个数和输入字符数相等

{match++;

i=0;

str=*argv;

{if(c==’‘||c==’,’||c==’\t’)flag=0;

//flag标志表示每次从单词首部开始比较

elseflag=1;

//flag=1表示单词的第一个字母不匹配,无须再比较

P

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1