2023年Linu程序设计实验报告_第1页
2023年Linu程序设计实验报告_第2页
2023年Linu程序设计实验报告_第3页
2023年Linu程序设计实验报告_第4页
2023年Linu程序设计实验报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告

课程名称:Linux程序设计

学院:信息科学与工程学院

专业:13计算机班级:2023-1

姓名:学号:

2023年6月28日

山东科技大学教务处制

实验报告

组别姓名同组实验者

第12周周四

实验项目名称实验一熟悉inux命令实验日期

9,10节

教师评语

实验成绩指导教师廉文娟

1.登录和退出Linux系统

用户登录系统时为了使系统可以辨认自己必须输入用户名和密码经系统验证无后

方能进入系统。用户登录分两步进行,第一步输入用户的登录名,系统根据该登录名

来辨认用户,第二步输入用户的口令,该口令是用户自己选择的一个字符串对其他

用户是保密的,是在登录时系统用来辨别真假用户的关键字。

必须输入用户的账号,分为1)root一一系统管理员账号,该账号可以进行任意

操作。2)普通用户一一拥有一定的权限

2.其他命令

三、实验内容

常用操作命令。

1、在Linux系统中打开终端,运用快捷键ctrl+alt+T,打开,结果如下:

guest-29paaX(0)cslab-Lenovo:

guest-29paaX@cslab-Lenovo|

2、退出:

不管是root用户还是普通用户,需要退出系统,在shell提醒符下,键入exit

命令即可。

3、关机与重启:

Linux中提供了命令shutdown,可以安全地关机或重启系统,该命令只能是超级

用户可以使用,命令格式:shutdown[选项][时间][警告信息]

其中警告信息是向其他用户发布的信息,时间指定关机或是重启的时间,选项的意

义如下:

-h关机,关机前关闭相关进程,执行fsck命令(文献系统的一致性检查)

-r系统重新启动

-f快速关机,系统关机前不执行fsck命令

-n快速关机,系统关机前不执行init命令

-k不关机,只是将警告信息向其他用户发布

-c终止执行正在运营的shutdown命令

举例:

1.系统立即关机shutdown-hnow

2.两分钟后重启系统,发布信息Systemwillbedownin2minutes!给其

他终端用户。

Shutdown-r+2"Systemwi1Ibedownin2minutes!”

除了可以使用shutdown命令来关机和重启系统外,Linux尚有专门用于关机和重

启系统的命令poweroff和reboot,reboot用于重启系统(相称于shutdown

-rnow),命令poweroff则用于关机(相称于shutdown-hnow)

4、添加新用户、修改文献属性

1.添加新用户(在root下,按默认值回答)

adduser用户名;如addusers2023;以新用户登录到系统

2.修改用户口令passwd用户名

3.控制文献属性

使用Is-I查看文献属性

改变用户的所有权:chown用户名文献名

改变文献权限:chmodg+w文献名;chmodo-r文献名

或使用数字方式修改:如chmod644文献名;chmod755文献名

u(user•用户),g(group组),o(other其他);w写访问权限,r读访问权限,

x执行权限

4.查看相关命令的帮助:man命令名

5.显示当前系统中已注册的用户信息:who

6.显示当前注册的用户信息:whoami

5、文献显示命令

显示指定工作目录中所包含的内容的指令是Is,要说明的是Is命令列出文献的名

字,而不是文献的内容。该命令的使用方式如下:

Is[选项][文献目录列表]

Is命令中的常用选项如下:

-a:显示所有文献及目录(Is规定将文献名或目录名中开头为

."的视为隐藏档,不会列出)

—c:按列输出,纵向排序

-X:按行输出,横向排序

-I:除文献名外,也将文献状态、权限、拥有者、文献大小等信息具体列出

-t:根据文献建立时间的先后顺序列出

—A:同-a,但不列出(目前目录)及(父目录)

-X:按扩展名排序显示

—R:递归显示下层子目录

-help:显示帮助信息

-----version:显示版本信息

6、查找文献

#find[目录列表][匹配标准]

1)通过文献名查找

#find/-namehttpd.conf-print

2)根据部分文献名查找

#find/-name*http*-print

7、显示文本文献内容

cat[选项]文献列表

-b计算所有非空输出行,开始为1。

-e在每行末尾显示$符号。

-n计算所有输出行,开始为lo

-s将相连的多个空行用单一空行代替。

8、查找文献内容

grep[选项]匹配字符串文献列表

-V列出不匹配串或正则表达式的行。

-c。对匹配的行计数。

-I只显示包含匹配的文献的文献名。

-h。克制包含匹配文献的文献名的显示

-n。每个匹配行只按照相对的行号显示。

-i产生不区分大小写的匹配,缺省状态是区分大小写。

9、文献复制命令

Linux下的cp命令用于复制文献或目录,该命令是最重要的文献操作命令,其

命令格式如下:

»cp[选项]源文献目的文献

cp[选项]源文献组目的目录

-a在备份中保持尽也许多的源文献结构和属。

-b。。作将要覆盖或删除文献的备份。

不删除已存在的目的文献。

一卜。提醒是否覆盖已存在的目的文献。

-P。保持原先文献的所有者,组权限和时间标志

-r。。递归拷贝目录,把所有非目录文献当普通文献拷贝。

-R。。递归拷贝目录。

10、文献的删除命令

rm命令可从文献系统中删除文献及整个目录。rm命令所使用的命令格式如

下:

rm[选项]文献列表

-r。。删除文献列表中指定的目录,若不用此标志则不删除目录

-i指定交互模式。在执行删除前提醒确认。任何以Y开始的响应都表达肯

定;其他则表达否认。

-f。指定强行删除模式。通常,在删除文献权限可满足时rm提醒。本标志逼迫

删除,不用提醒。

四、实验环节

1、以root用户身份登陆,并使用1s,cat,cd等命令来实现基本的文献操作并观测

Linux文献系统的特点,并记录实验结果;

2、在/home下新建一个以自己名字命名的子目录,在这个子目录中创建一个文献

mytest,为这个文献建立一个软链接文献my1ink,用Is-1查看该子目录有什

么变化,并记录下来。

3、在2的基础上,为mytest文献更改访问权限,分别用字符串方法和数值方法,

将mytest文献的写访问权限都加上,记录过程和结果。

4、使用重定向。查看/home下的文献及子目录,并将结果输出到mytest文献中,

并查看mytest文献的内容,记录下来。

5、运用gzip命令为/home下面的mytest文献创建一个压缩文献,然后查看

/home下面的文献,有什么变化,记录下来。

6、运用tar命令将/home下面所有文献打包为一个文献,命名为mytar,并做记

录。

7、运用命令删除/home下你自己新建的所有的文献或目录,记录下来.

四、实验体会

通过本次实验,了解了Linux系统的一些操作,熟悉了该系统的命令工作。

实验报告

组别姓名同组实验者

第13周周

实验项目名称实验二shell程序设计实验日期

四9,10节

教师评语

实验成绩指导教师廉文娟

一、实验目的

1、了解和熟悉创建并使用脚本的环节

2、进一步理解she]]概念

3、学会简朴的shell编程

二、实验内容

1.编写一个简朴的回显用户名的she11程序

2.使用if-then语句创建简朴的shel1程序

3.使用if-then-e1se语句创建一个根据输入的分数判断是否及格的shell程序

4.使用for语句创建简朴的she11程序

5.使用whi1e语句创建一个计算1-5的平方的she11程序

三、实验过程

1.编写一个简朴的回显用户名的she11程序

#vidat

#!/bin/bash

#filename:dat

echo"Mr.$USER,Todayis:n

echo'dates

echoWishyoualuckyday!

#chmod+xdat

#./dat

[rootB1oca1hostchmod+xdat

[rootP1oca1host./dat

Mr.root,Todayis:

MonMay1213:36:18CST2014

Bestwisherforyou!

[rootB1oca1host~

2使用if-then语句创建简朴的shel1程序

#vibbbb

#!/bin/bash

#filename:bbbb

echo-n"Doyouwanttocontinue:YorN"

readANSWER

if[SANSWER=N-o$ANSWER=n]

then

echo"youranswerisquit!”

fi

#chmod+xbbbb

#./bbbb

[root@1oca1hostchmod+xbbbb

[rootP1oca1host./bbbb

|Doyouwanttocontinue:YorNy

[rootPlocaIhostchmod+xbbbb

[roots1oca1host./bbbb

Doyouwanttocontinue:YorMn

youranswerisquit?

[root(?1ocaIhost

3.使用if-then-else语句创建一个根据输入的分数判断是否及格的she11程

#viak

#!/bin/bash

#filename:ak

echo-n"pleaseinputascore:u

readSCORE

echo"YouinputScoreis$SCORE',

if[$SCORE-ge60];

then

echo-n"Congratu1ation!YouPasstheexamination.n

else

echo-n"Sorry!YouFailtheexamination!n

fi

echo-n"pressanykeytocontinue!"

read$GOOUT

#chmod+xak

#./ak

[roJtP1oca1hostchmod+xak

[root(?1oca1host./ak

pleaseinputascore:60

inputScoreis60

Congratulation?YouPasstheexamination?pressanykeytocontinue!f

[rootPlocaIhostchmod+xak

[rootP1oca1host./ak

pleaseinputascore:30

YouinputScoreis30

Sorry?YouFailtheexamination!pressanykeytocontinue?

[root!?locaIhost~

4.使用for语句创建简朴的she11程序

#vimm

#!/bin/bash

#filename:mm

forabin1234

do

echo$ab

done

#chmod+xmm

#./mm

[rootP1oca1hostchmod+xmm

[rootP1oca1host./mm

1

4

[rootPlocaIhost~1看

5.使用while语句创建一个计算1-5的平方的she11程序

#vizx

#!/bin/bash

#fi1ename:zx

int=l

while[$int-1e5]

do

sq二、expr$int'

echo$sq

int=vexpr$int+1、

done

echo"Jobcompleted”

#chmod+xzx

#./zx

[rootO1ocaIhostchmod+xxx

[rootB1ocaIhost.zxx

9

16

25

Goodjob?

[roots1ocaIhost~]#

四、实验体会

通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序

中LINUX基本命令的使用,理解了Shell程序的设计方法,并且熟悉了She11程

序编辑、运营、调试方法与过程。这为我日后继续进一步学习Linux课程打下基础。

实验报告

组别姓名同组实验者

第14周周四

实验项目名称实验三文献系统程序设计实验日期

9,10节

教师评语

实验成绩指导教师廉文娟

一、实验目的:

1.掌握Linux文献系统的基本原理,结构和实现的方法

2.掌握Linux文献系统中文献的建立,打开,读写,执行,属性等系统调用的使

用。

二、实验规定

1.掌握Linux文献系统的架构及目录结构。

2.掌握有关Linux文献系统的常用命令。

3.了解有关文献安全面的知识。

三、实验准备知识:文献及其分类

文献是Linux用来存储信息的基本结构。一个文献就是被命名的一组信息。

Linux文献通常分为普通文献、目录文献、特别文献(设备文献)、链接文献。

特别文献分为块特别文献(如磁盘、磁带、CD-ROM等)和字符特别文献(如

终端、打印机等)。块特别文献与字符特别文献的类型标志分别是“b”和“c”。

例如:

普通文献_rw_rw-r—

目录文献drwxrwx——

块特别文献brw-rw-------

字符特别文献crw-rw-rw-

四、实验内容

1.浏览文献系统

(1)运营pwd命令,拟定你当前的工作目录。

[root@locaIhostroot]#p\vd

"root___________

(2)运用以下命令显示当前工作目录下的所有文献的文献属性:

1s—1

对照屏幕上的现实信息,理解各字段的含义。

(3)输入以下命令:

1s—ai

观测显示的信息。注意列出的前两项,它们分别表达当前目录和父目录。看一

下是否尚有其他的隐藏文献?

使用不带-a选项的1s命令,注意,不再显示隐藏文献了。

使用不带-i选项的1s命令,注意,文献的I节点号(inode)不再出现。

[root@locaIhostroot]#Is-ai

160322.176381.gnorre160324insta11.log.s}

2..176365.gnorre2176498.nrlacity

160682anaconda-ks.cfg176382.gnonp2__private176469.nautilus

161160.bash_history176471.gnorre-desktop176369.pyinput

160356.bash_logout48485.gstrearrer161158.recently-use<

160357.bash_profiIe160926.gtkrc161159•rhn-appIet.c<

160358.bashrc161156.gtkrc-1.2-gnorre2160360.tcshrc

160359.cshrc161161he1lo161162.viminfo

161163.fonts.cache-1161166he1Io.c161154.Xauthority

176368.gconf161157.ICEauthority160355.Xresources

96529.gconfd160323insta11.log161155.xsession-err<

(4)用mkdir命令建立一个子目录subdir。

|[root@locaIhostroot]#rrkdir/subdir

i[root@locaIhostroot]#1s

anaconda-ks.cfgheIiohe1Io.cinsta11.loginstall,log.syslogsubdir

(5)使用cd命令,将当前目录改到根目录(/)上。运用绝对途径和相对途径两种方

式。运用pwd命令确认你的工作目录。

6)使用1s命令列出根目录的内容,再分别列出各子目录的内容。体会各子目录

的作用以及访问权限。

(7)使用1s—1命令列出/dev的内容,注意各行第一个字符b和c的含义以及

规定的访问权限。

E3M

r

4

IH701

201

6no

三201

luoM

0Q

1

sl3O1

IMIMI

IU20o

In2OWI

!MBM

O

2ISOM1

B

一3M

3

21.T

三O

O

22

选M

J1Ozlol

.M

i7Q

-M>

7t

io

so

-

■二R*'J大■限■&!=,

helenQPIocnlhoBt:/

文件名)MHO.)婚都a>*«2*a>#脸9>

/bct»n/.ub<Jir>根十文”IBH聚

(Ihoat*|Scd/belen/sutulir

/!«!■

liMi+r»undi・c

fs

23畿T9L

4漓T1T7t

IT2z

部TV

13IQl1

i”■

IT0-10:2J

E歌I2-I0»

M9s73U9h

I2黑-

2i-

-YI丁

2i'4f

-Tla三

3!T,■-.

。301TV

2iT2

i飞201o71

2-T4三

20瑜002

!1

2M弋-oT

-?T4r

-SiI

3OI1r二

127f09309

端T

I2瑞-

-、h

4

4。1-rTj*hI

-1|

9弋

T二

'-0

2TU

12律a*r-MI

霭1

I二

lu3潞0:4

歌T1

"

门-T2

271'4

ho>

(8)使用不带参数的命令cd,然后用pwd命令确认你当前的工作目录。

2.查看你的文献

⑴运用cd命令,将工作目录改到你自己的用户目录(你的主目录)上。

(2)将工作目录改到你新建的子目录subdir,然后运营命令:

[root@IocaIhostsubdir]#date>fiIe1

[root@locaIhostsubdir]#Is-1

总用量4

-rw^r——r——1rootroot299月2509:01fiIe1

date>fiIe1

将当前日期和时间存放到新建文献file1中。

(3)使用cat命令查看file1文献的内容。

[root@locaIhostsubdir]#cat-nfiIe1

1六9月2509:01:41CST2010

⑷运用man命令显示date命令的用法:

mandate

(5)》各date命令的用法附加到文献filel的后边:

mandate»filei

此时,你在屏幕上看不到有关date命令用法的信息。

(6)运用cat或more命令显示文献filel的内容。你会看到,前面date命令的

输出和有关date命令用法的信息都在这个文献中。

⑺运用Is-Ifi1e1命令列出文献filel的较具体的信息,注意其中第二字段(链

接计数)的值。

(8)运用1nfile1../fa命令进行文献连接。然后运营Is—Ifilel,查看显

示的第二个字段的值发生了什么变化。

(9)现在想运用catfa命令显示文献fa的内容,应当如何改动工作目录?

(10)设你的主目录是/home/he1en,运用In-s/home/heIen/subdir/

filelslink进行符号链接。然后,运用1s-1file1slink显示有关fi1e1和s1ink的

信息。注意各自链接计数值的差别。

(11)将工作目录移到你的主目录下的subdir0运用head命令显示filel前1

0行(这是默认值)的内容:

headfilel

(12)运用tai1filel命令显示filel后10行(这是默认值的内容)的内容。

(13)运营Is-I/bin命令显示/bin目录的内容。你在屏幕上看到什么?可以

看到/bin下命令的所有信息吗?

(14)运用Is-I/binImore命令行分屏显示/bin目录的内容。一次显示一

页。一方面显示第一页。按回车键,只显示该文献的下一行;按Space键,显示该

文献的下一屏。

连续按几次Space键,到达该文献的末尾。回到shell环境下。

(15)运用cpfileifile2命令生成文献file1的副本。然后再运用cpfile1filel

bak命令生成文献filei的另一个副本。运用Is-1命令查看当前工作目录的内

容有什么变化。

(16)运用catfiIe*命令列出当前工作目录中以fi1e开头的所有文献。

(17)运营catfile?命令,与上面结果相比有何差别?

(18)运用删除命令rmfilelbak命令将文献filelbak删除,再运用Is-I命令

查看工作目录的内容。

(19)运营mvfile2fa命令,然后运用1s命令查看两个文献是否还在工作

目录中。

3.文献操作

(1)查找文献和目录。

运用find命令可以查找文献和目录的位置。你要告诉系统所要查找的文献名

和从哪个目录开始查找。其常用使用格式是:

findpathname-namefi1ename-print

其中,pathname是指定开始查找的目录用lename是所要查找的文献或目录。-na

me和-print是find命令的选项。

例如:find.-namefilel-print。(请看清楚中间那个小点”代表当前目录)

在当前目录和所有下面的子目录中查找名为fitel的文献,并且把找到的文献

的途径名显示在屏幕上。

find..-name'f*'-print。”代表当前目录的父目录)

在当前目录的父目录的所有子目录中查找名字以f开头的文献名。要查找的文

献名模式‘产‘必须用引号括起来,由于其中用到shell的通配字符(*)。

⑵查找文献中指定的模式。grep命令常用于在文本文献中查找给定的词或短语,

包含给定模式字符串的行在标准输出(即显示器)上显示出来。

例如:$grepuser3/etc/passwd

在口令文献/etc/passwd中查找字符串“user3”。

4.文献存取权限

(1)存取权限。Linux系统对所有文献设立了存取权限。存取权限让你拟定谁可

以对你的个人文献和目录进行访问以及可以进行什么操作。

-把所有用户分为三类:

----文献主(user),即文献的所有者。

-一组用户(group),即文献组的成员。

一一其他用户(other),即能对系统进行访问的所有其他用户。

■对一个文献的存取权限分为3种:

----读(r)

一—写(w)

----执行(x)

■一组存取权限以及相应的文献类型统称为文献模式。

如:rw-r-—…:表达文献主有读和写的权限,同组用户和其他用户只有读权限。

(2)文献存取权限。

1)读权限(r):允许指定的用户可以打开文献并阅读其内容。存取文献的内容

作为输入的命令都需要有读权限。例如:cat,more,file和cp命令等。

2)写权限(w):允许指定的用户可以打开文献并修改其内容。用于打开文献、

写文献或修改其内容的命令有vi,mail,cp等。

3)执行权限(x):允许指定的用户运营(即执行)一个二进制文献或者把一个she1

1脚本文献当作命令来运营。当通过输入命令名来调用命令时,必须具有该命令文献

的执行权限。

例如,Is命令是/bin/1S可执行文献的名字。当在命令行方式下输入1s时,就

是在执行这个文献。

(3)目录存取权限。

1)读权限(r):允许列出相应目录中所存放的文献的名字(即目录的内容表)。该

权限也允许shell使用文献名扩展字符(通配符)来匹配文献名。

2)写权限(w):允许从目录中删除已有文献或者把新文献添加到目录中。

由于写权限允许删除数据,所以,通常只有目录所有者才有写权限。

3)查询权限(x):允许在目录中进行查找和使用cd命令把工作目录改到它这

里。假如没有这一权限,就不能将此目录作为途径名的一部分。这一方式可以有效

地阻止对层次文献系统的子分支的访问。

一般说来,为了在实际中使用目录,你需要有读和查询的权限。假如没有查询权

限,那么,通常也不会具有对目录的其他权限。

使用Is-1命令,列出当前工作目录中各文献的类型和权限。

(4)修改文献权限。

文献主或root用户可以使用chmod命令来修改文献或目录的权限。

修改文献权限的方式有两种:符号模式和绝对模式。

1)符号模式。使用chmod命令修改当前权限设立的一般形式是:

chmodkeyfile[file…]

其中,key由以下成分组成:[who][+[-I+][mode]

•who这一部分可以由下面的一个和多个字符组成:u,g,o或a,它们分别表达

文献主、组用户、其他用户或所有3种用户。默认值是a(all)。

•第二部分必须是以下3个字符中的一个:或者=,分别表达增长、删除或

者设定。

•mode成份可以由以下字符任意组合:r,w,或x,分别表达读、写或者执行

/查询的权限。

以上3个部分必须依次输入,并且它们之间没有空格。在一个命令行中可以指定

多个key,彼此之间用逗号隔开,中间没有空格。

例如:设文献file1本来的权限是rw-rw—r-,现在想让所有用户都具有执

行权限,则可使用以下命令:

chmoda+xfi1e1

该命令执行后,文献fi1el的权限将变成rwxrwxr-Xo

练习:

•一方面使用Is-1命令查看文献fi1e1的存取权限。

•然后是用以下命令:

chmodg-r,o—rfi1el

修改filei的权限一一组用户和其他用户都被取消对该文献的读权限。

,最后,使用命令:Is-1filei

核查文献file1存取权限的变化情况。

2)绝对模式。在chmod命令中可以使用数字表达不同的权限。

•key这一部分可由3个或多个数字组成,其中每一个数字表达一类用户(文

献主、组用户、其他用户)的权限。

•每个数字都表达不同的权限,如:r=4(100),w=2(010),x=(001)L

假如某种权限被禁用,则相应的值为0。表达权限值的数字范围从0到7o

key部分可以形成一个3位数字,其中第一位表达文献主权限,第二位表达组用

户权限,第三位表达其他用户权限。

例如:符号模式rw-rw—r-

绝对模式6(110)6(110)4(100)

例如:

运营一下命令,把文献fiIe1的权限改为对所有用户都有读和写的权限:

chmod666file1

用Is—1命令和查文献fiIe1的权限。

(9)使用命令cd你将工作目录移到了什么地方?

五、实验体会

通过本次实验,了解了文献的一些相关操作,收获颇丰。

实验报告

组别姓名同组实验者

第15周周四

实验项目名称实验四进程编程实验日期

9,10节

教师评语

实验成绩指导教师廉文娟

r*r4i■vvw■vv,j3.,、q1j・Yj・3,j.ujjj▲jJvn1■1・,wJq

1422?SI0:00/usr/lib/evolution/evolution-data-server-2.2!

1425?SI0:00/usr/lib/evolution/2.28/evolution-exchange-si

1448?S0:00update-notifier

1529?Si0:02gnome-terminal

1530?S0:00gnome-pty-helper

1531pts/0Ss0:00bash

1740?S0:03gedit/home/yue/summer/systeml.c4

1753pts/0S+0:00./systeml

1754pts/0S+0:00sh-cpsax

1755pts/0R+0:00psax

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论