linux实验报告.docx

上传人:b****7 文档编号:10599275 上传时间:2023-02-21 格式:DOCX 页数:28 大小:598.57KB
下载 相关 举报
linux实验报告.docx_第1页
第1页 / 共28页
linux实验报告.docx_第2页
第2页 / 共28页
linux实验报告.docx_第3页
第3页 / 共28页
linux实验报告.docx_第4页
第4页 / 共28页
linux实验报告.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

linux实验报告.docx

《linux实验报告.docx》由会员分享,可在线阅读,更多相关《linux实验报告.docx(28页珍藏版)》请在冰豆网上搜索。

linux实验报告.docx

linux实验报告

*************

《Linux操作系统》

实训报告

实验内容:

熟悉掌握Linux操作系统

实验地点:

********************

班级:

******************

姓名:

**************

学号:

************

 

目录

一、目的与要求1

1. 目的:

1

2. 要求1

二、实验方案1

实验一、用户及文件管理1

1、利用Shell命令管理用户与组群1

2、目录操作6

3、文件操作7

4、设置文件权限8

实验二、vi的基本操作10

实验三、Linux下C语言编程和调试14

实验四、简单shell编程16

实验五、FTP服务配置16

三、实验总结21

一、目的与要求

1. 目的:

1)要求学生熟悉掌握linux操作系统的用户及文件管理功能;

2)要求学生熟悉linux操作系统中vi编辑器的使用;

3)基本掌握Linux下C语言编程和调试;

4)熟悉linux操作系统下的简单shell编程;

5)掌握Linux下FTP服务配置。

2. 要求 

1)要求利用Linux命令操作完成实验;

2)实训报告中体现详细的命令操作步骤。

二、实验方案

实验一、用户及文件管理

1、利用Shell命令管理用户与组群

【操作要求1】新建一名为duser的用户,其口令是“tdd63u2”,主要组群为myusers。

【操作步骤】

(1)按下CTRL+ALT+F2组合键,切换到第2个虚拟终端,以超级用户身份登录。

(2)输入命令“useradd-gmyusersduser”,建立新用户duser,其主要组群是myusers。

(3)为新用户设置口令,输入命令“passwdduser”,根据屏幕提示输入两次口令。

注意:

所输入的口令在屏幕上并不显示出来,而输入两次的目的在于确保口令没有输错。

最后屏幕提示口令成功设置信息。

(4)输入命令“cat/etc/passwd”,查看/etc/passwd文件的内容,发现文件的末尾增加duser用户的信息。

(5)输入命令“cat/etc/group”,查看/etc/group文件的内容,发现文件内容未增加。

(用groupaddmyusers添加了用户myuseradd,所以显示myusers信息)

(6)按下ALT+F3组合键,切换到第3个虚拟终端,输入dusr用户名和口令可登录Linux系统。

(7)输入“exit”命令,duser用户退出登录。

退出后的界面:

【操作要求2】将duser用户设置为不需口令就能登录。

【操作步骤】

(1)按下ALT+F2组合键,切换到正被超级用户使用的第2个虚拟终端。

(2)输入命令“passwd-dduser”。

(3)按下ALT+F3组合键,再次切换到第3个虚拟终端,在“Login:

”后输入用户名“duser”,按下Enter键就出现Shell命令提示符,说明duser用户不需口令即可登录。

【操作要求3】查看duser用户的相关信息。

【操作步骤】

在第3个虚拟终端输入命令“idduser”或“id”,显示duser用户的用户ID(UID)、主要组群的名称和ID(GID)。

【操作要求4】普通用户duser切换为超级用户。

【操作步骤】

(1)第3个虚拟终端当前的Shell命令提示符为“$”,表明当前用户是普通用户。

(2)输入命令“ls/root”,屏幕上没有出现/root目录中文件和子目录的信息,这是因为普通用户没有查看/root目录的权限。

(3)输入命令“su-”或者是“su-root”,屏幕提示输入口令,此时输入超级用户的口令,Shell提示符从“$”变为“#”,说明已从普通用户转换为超级用户。

(4)再次输入命令“ls/root”,可查看/root目录中文件和子目录的信息。

(5)输入“exit”命令,回到普通用户的工作状态。

(6)输入“exit”命令,duser用户退出登录。

【操作要求5】一次性删除duser用户及其工作目录。

【操作步骤】

(1)按下ALT+F2组合键,切换到正被超级用户使用的第2个虚拟终端。

(2)输入命令“userdel–rduser”。

(3)输入命令“cat/etc/passwd”,查看/etc/passwd文件的内容,发现duser的相关信息已消失。

(4)输入命令“ls/home”,发现duser的主目录/home/duser也不复存在。

【操作要求6】新建组群mygroup。

【操作步骤】

(1)在超级用户的Shell提示符后输入命令“groupaddmygroup”,建立mygroup组群。

(2)输入命令“cat/etc/group”,发现group文件的末尾出现mygroup组群的信息。

(3)输入命令“cat/etc/gshadow”,发现gshadow文件的末尾也出现mygroup组群的信息。

【操作要求7】将mygroup组群改名为newgroup。

【操作步骤】

(1)输入命令“groupmod–nnewgroupmygroup”,其中–n选项表示更改组群的名称。

(2)输入命令“cat/etc/group”,查看组群信息,发现原来mygroup所在行的第一项变为“newgroup”。

【操作要求8】删除newgroup组群。

【操作步骤】

超级用户输入“groupdelnewgroup”命令,删除newgroup组群。

【操作要求9】为全班同学创建用户帐号,用户名为“s”+学号的组合,并且都属于class0401组群。

【操作步骤】

(1)新建全班同学的组群class0401,输入命令“groupadd-g600class0401”(假设值为600的GID未被使用)。

(2)编辑用户信息文件,保存为student.txt文件,文件的格式为:

(假设>600的UID未被使用)

s040101:

x:

601:

600:

:

/home/s040101:

/bin/bash

s040102:

x:

602:

600:

:

/home/s040102:

/bin/bash

...

(3)编辑用户口令文件,保存为passWORD.txt文件,文件的格式为:

s040101:

dkdk24d

s040102:

jijui34

...

(4)输入命令“newusers

(5)输入命令“pwunconv”,暂时取消shadow加密。

(6)输入命令“chpasswd

(7)输入命令“pwconv”,进行shadow加密,完成批量创建用户帐号工作。

(8)输入命令“cat/etc/passwd”,查看/etc/passwd文件将发现所有的用户帐号均已建立。

2、目录操作

【操作要求】先创建二个新目录dir1和dir2,然后将dir2目录移到dir1目录中,最后删除dir2目录。

【操作步骤】

(1)以普通用户(hellen)身份登录到Linux字符界面,当前目录为用户的主目录“/home/hellen”。

(2)输入命令“ls–l”,查看当前目录中的所有文件。

(3)创建两个目录,输入命令“mkdirdir1dir2”。

(4)再次输入命令“ls–l”,确认两个目录是否成功创建。

(5)输入命令“mvdir2dir1”,将dir2目录移动到dir1目录。

(6)输入命令“cddir1”,切换到dir1目录,再输入“ls“命令,查看到dir2目录。

(7)删除dir2目录,输入命令“rm–rfdir2”。

3、文件操作

【操作要求1】查找fstab文件,并将fstab文件中所有包含“mnt”的行存入f4文件。

【操作步骤】

(1)查找fstab文件,输入命令“find/-namefstab”,稍等片刻,屏幕显示fstab文件的完整路径为“/etc/fstab”。

(2)将/etc/fstab文件中所有包含“mnt”的行存入f4文件,输入命令“grep–n“mnt”/etc/fstab>f4”。

(3)输入命令“catf4”,查看f4文件的内容。

【操作要求2】将f4文件复制到在dir1目录,并在dir1目录中创建/etc/fstabt文件的符号链接文件fstabt-link。

【操作步骤】

(1)由于当前目录为/home/hellen/dir1,输入命令“cpf4.”,将f4文件复制到dir1目录。

(2)创建/etc/fstab文件的符号链接文件,输入命令“ln–s/etc/fstabfstab-link”。

输入命令“ls-l”,可发现淡蓝色的符号链接文件fstab-link,并使用“->”表示其所指向的源文件。

4、设置文件权限

(1)在用户主目录下创建目录test,进入test目录使用touch命令创建空文件file1。

(2)以ls–l命令长格形式显示文件详细信息,注意文件的权限和所属用户和组。

(3)对文件file1设置权限,使其他用户可以对此文件进行写操作:

#chmod o+w file1。

用ls–l命令查看设置结果。

(4)取消同组用户对此文件的读取权限:

#chmod g-r file1。

查看设置结果。

(5)用数字形式来为文件file1设置权限,所有者可读、可写、可执行;其他用户和所属组用户只有读和执行的权限:

#chmod 755 file1。

设置完成后查看设置结果。

(6)用数字形式更改文件file1的权限,使所有者只能读取此文件,其他任何用户都没有权限:

#chmod 400 file1。

查看设置结果。

(7)为其他用户添加写权限:

#chmodo+wfile1。

查看设置结果。

(8)回到上层目录,查看test的权限。

(9)为其他用户添加对此目录的写权限。

#chmodo+wtest。

查看设置结果。

(11)查看目录test及其中文件的所属用户和组。

(12)把目录test及其下的所有文件的所有者改成bin,所属组改成daemon:

#chown -R bin:

daemon test/。

查看设置结果。

(13)删除目录test及其下的文件。

(14)设定umask,#umask000;重新创建test1目录,并查看其权限。

实验二、vi的基本操作

一实验要求

(1)熟悉并掌握vi命令模式、文本编辑模式和最后行模式三种工作模式之间的转换方法。

(2)掌握利用vi新建和保存文件;熟悉光标的移动,文本的插入与删除等操作。

(3)掌握字符串替换;行的复制、移动、撤消和删除等操作。

二实验内容

1、新建文本文件

【操作要求】利用vi新建文件f2,内容为:

HowtoReadFaster

WhenIwasaschoolboyImusthavereadeverycomicbookeverpublished.ButasIgotolder,myeyeballsmusthavesloweddownorsomethingImean,comicbooksstartedtopileupfasterthenIcouldreadthem!

Itwasn’tuntilmuchlater,whenIwasstudyingatcollege,Irealizedthatitwasn’tmyeyeballsthathadgonewrong.They’restillmovingaswellasever.Theproblemisthatthere’stoomuchtoreadthesedays,andtoolittletimetoreadeveryWORDofit.

【操作步骤】

(1)启动计算机后,以普通用户(hellen)身份登录字符界面。

(2)在Shell命令提示符后输入命令“vi”,启动vi文本编辑器,进入命令模式。

(3)按“i”键,从命令模式转换为文本编辑模式,此时屏幕的最底边出现“----INSERT----”字样。

(4)输入上述文本内容。

如果输入出错,可使用退格键或Delete键删除错误的字符。

(5)按ESC键返回命令模式。

(6)按“:

”键进入最后行模式,输入“wf2”,就可以将正在编辑的内容保存为f2文件。

屏幕底部显示“"f2"[New]3L,482Cwritten”字样,表示此文件有3行,482个字符。

注意:

vi中行的概念与平时所说的行有所区别,在输入文字的过程中由于字符串长度超过屏幕宽度而发生的自动换行,vi并不认为是一行,只有在vi中按一次Enter键,另起一行的才是新的一行。

(7)按“:

”键后输入“q”,退出vi。

2、编辑文件

【操作要求1】打开f2文件并显示行号。

【操作步骤】

(1)输入命令“vif2”,启动vi文本编辑器并打开f2文件。

(2)按“:

”键切换到最后行模式,输入命令“setnu”,每一行前出现行号。

(3)vi自动返回到命令模式,连续两次输入“Z”,就退出vi。

【操作要求2】在f2文件的第一行后插入如下一行内容:

“Withthedevelopmentofsociety,theabilityofreadingbecomesmoreandmoreimportant.”,并在最后一行之后添加一行,内容为:

“Wemustknowsomemethodstoreadfaster.”

【操作步骤】

(1)再次输入命令“vif2”,启动vi文本编辑器并打开f2文件。

(2)按“a”键,进入文本编辑模式,屏幕底部出现“—INSERT--”字样。

(3)利用方向键移动光标到第一行行尾后,按Enter键,另起一行。

输入“Withthedevelopmentofsociety,theabilityofreadingbecomesmoreandmoreimportant.”。

(4)将光标移动到最后一行的行尾,按Enter键,另起一行。

输入“Wemustknowsomemethodstoreadfaster.”。

【操作要求3】将文本中所有的“eyeballs”用“eye-balls”替换。

【操作步骤】

按ESC键后输入“:

”,进入最后行模式。

因为当前f2文件中共有5行,所以输入命令“1,5s/eyeballs/eye-balls/g”,并按Enter键,将文件中所有的eyeballs”替换为“eye-balls”。

【操作要求4】把第二行移动到文件的最后,删除第一和第二行并恢复删除,并不保存修改。

【操作步骤】

(1)按“:

”键,再次进入最后行模式,输入命令“2,2m5”,将第二行移动到第五行的后面。

(2)按“:

”键,输入“1,2d”,删除第一和第二行。

(3)按“u”键,恢复被删除的部分。

(4)按“:

”键,进入最后行模式,输入“q!

”,退出vi,不保存对文件的修改。

【操作要求5】复制第二行,并添加到文件的最后,删除第二行,保存修改后退出vi。

【操作步骤】

(1)再次输入命令“vif2”,启动vi文本编辑器并打开f2文件。

(2)按“:

”键,进入最后行模式,输入“2,2co5”,将第二行的内容复制到第五行的后面。

(3)移动光标到第二行,键入“dd”命令,原来的第二行消失。

(4)按“:

”键,输入“wq”,存盘并退出vi。

实验三、Linux下C语言编程和调试

1.目的

(1)通过实验使学生了解linux提供的gcc编译器;

(2)掌握linuxGCC命令,熟悉在命令行下编译C的方法;

(3)熟悉linux提供的文本编辑器vi的使用。

2.预备知识

(1)linuxC编译器gcc的使用;

(2)linuxC程序文件的编辑、编译和执行。

3.操作要求:

编写程序实现求三个数中最大值,并得到运行结果。

(1)gcc基本语法

gcc[option][filename]

选项

功能

-c

对源文件进行预处理、编译和汇编,产生目标文件,但不进行连接。

-o<文件名>

定义输出的执行文件名为<文件名>

-S

在编译后停止,产生类型名为s的汇编代码文件

-E

在预处理后停止,输出预处理后的源代码至标准输出,不进行编译

-O

对程序进行编译优化,编译速度比不做优化慢且要求内存多。

-O2

比-O优化效果更好,但编译速度较慢

-g

产生一张用于调试和排错的扩展符号表,以便用gdb进行调试

(2)make项目管理器

make项目管理器(GNU中的名称为gmake)可以根据项目开发者说明的项目开发文件Makefile自动的进行编译配置和重复编译,能实现复杂项目的编译自动化。

项目开发文件Makefile的编写使用以下规则:

目标体1:

依赖体1[依赖体2[...]]

命令行1

命令行2

[...]

目标体2:

依赖体1[依赖体2[...]]

命令行1

命令行2

[...]

[...]

其中目标体是命令行要生成的输出文件,依赖体是命令行要输入的文件或选项,命令行序列是要创建目标体文件所需要的步骤,例如编译命令。

无特别指定,make总是使用当前目录中的Makefile进行自动编译。

例如我们在当前目录中有两个项目开发文件hello.c和hello.h,则Makefile文件可以

编写为:

hello:

hello.o

gcchello.o-ohello

hello.o:

hello.chello.h

gcc-shello.c

gcc-chello.c

clean:

rmhello*.o*.s

结果如下:

make命令的使用:

make命令会根据Makefile的内容对项目进行管理。

,make命令能自动确定哪一个模块已被修改,然后再进行统一、无遗漏的编译。

make命令的用法是:

make[-ffilename][options][targets]

make命令的部分参数

参数

意义

-Cdir

在读Makefile或做任何操作前切换目录,一般用于对目录的递归搜索

-d

显示调试信息

-ffile

指定file文件作为Makefile,而不使用默认的makefile或Makefile

-Idir

指定Makefile搜索目录

-k

默认情况下,make在遇到错误时终止执行,-k可在出现错误时工作的尽量长一些,以便观察分析

-n

让make在不真正编译的情况下列出将执行的步骤

(3)gdb调试源程序

当编译后得到的目标程序出现错误时,需要对源程序进行调试以找出错误,排除故障。

Linux提供了调试源程序的工具gdb,gdb不仅允许用户在运行程序时显示源代码,而且在调试程序中允许设置断点暂停程序运行,显示变量的内容。

实验四、简单shell编程

【实验内容】用shell语言编制一个批处理程序,其功能如下:

(进入vi编辑模式,直接输入以下代码,保存、修改权限、执行即可)

A.屏幕提示用户键盘输入年、月;

B.接收用户的输入值;

C.输出该年该月的日历。

程序代码

#!

/bin/sh

echo"year:

"

readye

echo"month:

"

readmo

cal$mo$ye

注意:

若脚本文件名为test.sh,首先用chmoda+xtest.sh改变权限后,方可用./test.sh运行

实验五、FTP服务配置

【实验目的】

掌握vsftpdFTP服务的配置。

【实验内容】

1.使用setup菜单完成TCP/IP网络配置;

(1)在命令行运行setup,选择“NetworkConfiguration”

(2)选择“eth0(eth0)……”

(3)取消“UseDHCP”

(4)配置IP地址和子网掩码为192.168.202.5/255.255.255.0,网关为192.168.202.1

(5)一层层退出

(6)运行ifdowneth0禁用以太网卡

(7)运行ifupeth0启用以太网卡并重新读取配置。

(8)使用ifconfig检查eth0网卡的IP地址配置。

2.vsftpd服务器的基本配置

(1)rpm-qvsftpd察看vsftpd软件包是否安装

Vsftpd-1.1.3-8表示位于系统的第三张光盘上。

(2)servicevsftpdstart启动vsftpd服务器

(3)chkconfigvsftpdon将vsftpd服务设置为自动启动

(5)从XP客户端访问ftp:

//192.168.202.5

访问之前需要关闭防火墙,命令:

/etc/init.d/iptablesstop

或通过图形提醒界面:

(6)察看vsftpd服务器的配置文件的缺省配置:

vi/etc/vsftpd/vsftpd.conf

1)anonymous_enable=YES允许匿名用户登录

2)local_enable=YES允许本地用户登录

3)write_enable=YES允许写入(上传文件、创建目录)(包含所有用户)

4)#anon_upload_enable=YES允许匿名用户上传文件,但已被注释掉

5)#anon_mkdir_enable=YES允许匿名用户创建目录,但已被注释掉

3.配置允许匿名用户上传的FTP服务器

(1)vi/etc/vsftpd/vsftpd.conf

(3)去掉上面(4)(5)两行的注释

(3)servicevsftpdrestart

(4)从XP客户端重新访问“ftp:

//192.168.202.5”,上传一个文件,是否成功?

答:

不能,因为匿名用户是以ftp帐号访问FTP服务器的,主目录为/var/ftp。

(可察看/etc/passwd,找ftp那一行)而“/var/ftp”目录所属用户为root,目录权限为drwxr-xr-x,即ftp作为“其他用户”,没有写入权限,所以不能在“/var/ftp”目录中创建新文件和新建目录。

两种办法解决这个问题:

4.办法1:

创建一个属于ftp用户的目录

(1)cd/var/ftp

(2)mkdirup1创建一个目录

(3)chownftp:

ftpup1修改目录的所属用户

(4)ll查看目录权限

5.办法2:

创建一个属于root用户的目录,但修改目录权限为允许其他用户修改目录内容

(1)cd/var/ftp

(2)m

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

当前位置:首页 > 医药卫生 > 基础医学

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

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