Linux实验报告.docx

上传人:b****3 文档编号:4737917 上传时间:2023-05-07 格式:DOCX 页数:21 大小:571.02KB
下载 相关 举报
Linux实验报告.docx_第1页
第1页 / 共21页
Linux实验报告.docx_第2页
第2页 / 共21页
Linux实验报告.docx_第3页
第3页 / 共21页
Linux实验报告.docx_第4页
第4页 / 共21页
Linux实验报告.docx_第5页
第5页 / 共21页
Linux实验报告.docx_第6页
第6页 / 共21页
Linux实验报告.docx_第7页
第7页 / 共21页
Linux实验报告.docx_第8页
第8页 / 共21页
Linux实验报告.docx_第9页
第9页 / 共21页
Linux实验报告.docx_第10页
第10页 / 共21页
Linux实验报告.docx_第11页
第11页 / 共21页
Linux实验报告.docx_第12页
第12页 / 共21页
Linux实验报告.docx_第13页
第13页 / 共21页
Linux实验报告.docx_第14页
第14页 / 共21页
Linux实验报告.docx_第15页
第15页 / 共21页
Linux实验报告.docx_第16页
第16页 / 共21页
Linux实验报告.docx_第17页
第17页 / 共21页
Linux实验报告.docx_第18页
第18页 / 共21页
Linux实验报告.docx_第19页
第19页 / 共21页
Linux实验报告.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Linux实验报告.docx

《Linux实验报告.docx》由会员分享,可在线阅读,更多相关《Linux实验报告.docx(21页珍藏版)》请在冰点文库上搜索。

Linux实验报告.docx

Linux实验报告

 

Linux程序设计

实验报告

 

姓名:

班级:

计1242

学号:

121842284

专业:

计算机科学与技术

指导老师:

帼英

 

实验一Linux系统安装与启动(选做实验)

一、实验目的(通过实践及查阅资料完成如下实验)

1.掌握虚拟机的配置过程。

2.掌握Linux系统的安装过程和简单配置方法。

3.掌握与Linux相关的多操作系统的安装方法。

4.掌握Linux系统的启动、关闭步骤。

5.了解Linux文件系统和目录结构。

二、实验容

1.安装虚拟机软件(如VMware、Virtualbox)。

2.在虚拟机软件中安装Linux操作系统(如Fedora、Ubuntu、redhat等)。

3.配置Linux系统运行环境。

4.正确地启动、关闭系统。

三、实验步骤

1.安装虚拟机软件(VMwareWorkstation7.0)。

2.在虚拟机软件中新建Linux虚拟机2.1设置存大小(建议大于256MB)

2.2设置虚拟硬盘大小(建议大于8GB)

2.3设置虚拟光驱(虚拟方式,镜像文件)

2.4设置网络连接模式(建议采用桥接方式)

2.5设置共享目录(建议英文目录名)

1.在Linux虚拟机中安装Linux操作系统(fedora10)。

3.1选择安装界面

3.2检测安装截介质(建议跳过)

3.3安装过程中的语言、键盘选择

3.4磁盘分区(采用自动分区,总大小与2.2相匹配)

3.5引导程序选择(采用GRUB)

3.6注意事项(禁用SELinux)

2.通过相关命令实现对操作系统的登录、退出与关机

3.使用文件浏览器査看Linux操作系统目录结构

四、实验思考题

1.举例说明Linux操作系统不同目录下文件的主要作用。

2.列出你发现的Linux与Windows操作系统区别。

3.列出决定文本界面及图形界面显示的关键文件,并说明设置的关键。

4.列出你所能想到的虚拟机软件的用途。

实验结论:

实验二:

linux基本命令(必做实验)

一、实验目的、要求(请在操作后附实验结果)

1.熟悉Linux操作环境。

2.掌握Linux—般命令格式。

3.掌握有关文件和目录操作的常用命令。

4.掌握有关进程操作的常用命令。

二、实验容

1.熟练掌握登录和退出系统,创建,删除用户等命令(命令:

运行结果)。

2.熟悉date,cal,who,echo,clear,passwd,man等命令。

3.在用户主目录下对文件进行如下操作:

复制一个文件、显示文件容、查找指定容、排序、文件比较、文件删除。

4.对目录进行管理:

创建和删除子目录、改变和显示工作目录、列出文件权限、建立文件等。

1.显示系统中的进程信息。

三、实验步骤

1.登录进入系统,打开shell环境(终端)。

2.使用date,cal,who,echo,clear等命令,了解Linux命令格式。

3.利用man命令查看date,echo等命令的帮助说明。

4.目录操作

4.1在用户默认工作目录下新建目录testdirl(命令:

运行结果)。

4.2在用户目录下复制testdirl为testdir2(命令:

运行结果)。

4.3在用户目录下删除testdir2。

(命令:

运行结果)

5.文件操作

5.1进入用户默认工作目录。

5.2运行date>testl,然后运行cattest1,记录观察到的信息(命令:

运行结果)。

5.3再次运行date>testl,然后运行cattestl,记录观察到的信息(命令:

运行结果)。

5.4运行date»testl,然后运行cattestl,记录观察到的信息并说明原因(命令:

运行结果)。

5.5复制testl为test2。

5.6査看testl和test2的文件详细信息,记录并说明其异同。

5.7统计testl文件容的行数、字数。

5.8显示testl的容。

5.9建立testl的文件test3。

5.10复制testl到上一级目录。

5.11在用户目录下删除testl,删除testdirl。

四、实验思考题

1.如何显示当前工作目录的完整路径。

在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。

然而,没有提示符来告知用户目前处于哪一个目录中。

要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。

pwd 说明:

此命令显示出当前工作目录的绝对路径。

例:

$pwd/home/xu 显示的路径名为/home/xu,每个目录名都用“/”隔开,根目录以开头的“/”表示。

2.举例说明Linux命令的常用格式。

mkdir-p/srv/ftp/linux-10创建文件夹-p如果文件夹不存在自动创建

free命令free命令的功能是查看当前系统存的使用情况,它显示系统中剩余及已用的物理存和交换存,以及共享存和被核心使用的缓冲区。

3.举例说明如何使用Linux命令帮助(命令:

运行结果)。

实验结论:

实验三文件权限管理(必做实验)

一、实验目的

1.熟悉Linux操作环境。

2.掌握Linux—般命令格式。

3.理解Linux中文件所有者和权限的概念。

4.掌握有关权限操作的常用命令。

5.掌握文件/目录的打包和压缩命令。

二、实验容

1.2.1普通文件与目录权限的修改。

1.2.2改变文件属主。

1.2.3普通文件与目录的打包和压缩。

三、实验步骤

1.文件权限操作

1.1在用户默认工作目录下创建目录test03,进入test03目录,使用touch命令创建空文件filel。

1.2显示filel详细信息,记录文件的权限信息,所属用户和组。

1.3对filel设置权限,使其他用户可以对此文件进行写操作,并查看设置结果。

1.4取消同组用户对filel的读取权限,并査看设置结果。

1.5用数字形式来为filel设置权限,使所有者可读、可写、可执行;其他用户和所属组用户只有读和执行的权限,并查看设置结果。

1.6用数字形式更改filel权限,使所有者只能读取此文件,其他任何用户都没有权限,并査看设置结果。

1.7为其他用户添加写权限,并査看设置结果。

1.8回到上层目录,查看test03的权限。

1.9为其他用户添加对此目录的写权限,查看设置结果。

1.10査看并记录目录test03及其中文件的所属用户和组。

1.11把目录test03及其下的所有文件的所有者改成bin,所属组改成daemon,并査看设置结果。

1.12删除目录test03及其下的文件。

1.13设定umask为000($umask000),创建testdir目录,并査看其权限。

2.打包压缩命令操作

2.1将/etc目录拷贝SlJ用户默认工作目录下,重命名为etctest。

2.2用tar命令将etctest目录打包成etctest.tar.gz,查看etctest.tar.gz的权限,解压缩etctest.tar.gz

四、实验思考题

4.1列举ls命令不同选项的功能。

(1)ls:

显示所有非隐藏文件(按字典顺序排序)     

(2)ls -a:

显示所有文件包括隐藏文件 

(3)ls -l:

显示所有文件的详细信息          

(4) 显示总数

4.2说明文件权限和文件所有者的含义。

-rw-r--r--是文件的权限。

Root是用户组。

4.3举例说明umask命令的功能。

umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。

一般在/etc/profile、$[HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

4.4说明后缀名为tar.gz和tar.bz2的文件的压缩和解压命令。

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。

生成tar包后,就可以用其它的程序来进 

行压缩了,所以首先就来讲讲tar命令的基本用法:

 

tar命令的选项有很多(用mantar可以查看到),但常用的就那么几个选项,下面 

来举例说明一下:

 

 #tar-cfall.tar*.jpg 

  这条命令是将所有.jpg的文件打成一个名为all.tar的包。

-c是表示产生新的包 

,-f指定包的文件名。

 

  #tar-rfall.tar*.gif 

  这条命令是将所有.gif的文件增加到all.tar的包里面去。

-r是表示增加文件的 

意思。

 

#tar-ufall.tarlogo.gif 

  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

 

  #tar-tfall.tar 

  这条命令是列出all.tar包中所有文件,-t是列出文件的意思 

  #tar-xfall.tar 

  这条命令是解出all.tar包中所有文件,-x是解开的意思 

以上就是tar的最基本的用法。

为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。

这就是tar可以在打包或解包的同时调用其它的压缩程序。

实验结论:

通过这个实验我了解了普通文件与目录权限的修改。

实验四用户和组的管理(必做实验)

一、实验目的

1.熟悉Linux操作环境。

2.掌握Linux—般命令格式。

3.熟悉命令行操作方式进行用户和用户组管理。

二、实验容

2.建立新用户账号权限测试。

3.为新用户建立账号和工作组,并进行相应配置。

4.以该用户身份登录,修改密码。

5.删除该用户。

三、实验步骤

1.创建用户(以zhangsan为例)

1.1创建一个新用户zhangsan。

1.2査看/etc/passwd文件的最后一行容,并记录。

1.3査看/etc/shadow文件的最后一行容,并记录。

1.4给用户zhangsan设置密码。

1.5查看/etc/shadow文件的最后一行容,记录并说明变化。

1.6使用zhangsan用户登录系统,测试能否登录成功。

2.创建用户(以user为例)

2.1使用1的步骤创建新用户user。

2.2更改zhangsan所属群组为root。

2.3査看/etc/passwd文件,记录zhangsan用户和user用户的属组情况。

2.4更改用户zhangsan的名为user。

2.5査看/etc/passwd文件的最后一行容,记录并说明变化。

2.6删除用户user。

3.组的管理(以stuff为例)

3.1创建一个新组,组名为stuff。

3.2査看/etc/group文件的最后一行容,并记录。

3.3创建一个新test,并将其起始组和附属组都设为stuff。

3.4査看/etc/group文件中的最后一行容,记录并说明变化。

3.5设置stuff组密码。

3.6在stuff组中删除用户test。

3.7查看/etc/group文件中的最后一行,记录并说明变化。

3.8删除会且stuff。

四、实验思考题

1.说明所属群组与所属附加群组的区别。

chgrp(changegroup)改变文件所属群组,

hown  (change owner)改变文件所有者属性。

2.如普通用户遗失密码后要求恢复用户权限,说明root用户可能采取的方式。

1)在root账户下,打开/etc/shadow (不是passwd文件,因为密码实际上经过加密后放在了“影子口令”文件shadow中了。

passwd文件每个用户均可见,但是shadow只有root可以见)。

 

2)找到普通用户名cicikasa,然后删除第二个域即可,域之间用“:

”隔开的,如下user:

TdkakkkYUukkjkjk:

14672:

0:

99999:

7:

:

:

  上述红色部分就是经过加密的密码,删除即可。

   

3)在普通用户下,输入passwd即可输入新密码。

3.如何指定不同用户的默认工作目录。

1)修改/etc/vsftpd/vsftpd.conf将

guest_username=virtual_user

user_config_dir=/etc/vsftpd_user

user_sub_token=$USER加进去

2)在/etc目录下手工建立vsftpd_user目录

3)在/etc/vsftpd_user目录下建立用户文件,用户文件名称=要登录的用户名。

例如:

FTP用户是test111那么就在/etc/vsftpd_user/下建立一个test111文件,文件容local_root=/home/test111/$USER

4)重启服务servicevsftpdrestart

实验五文本编辑器(选做实验)

一、实验目的

1.掌握Vi编辑器的进入与退出方法。

2.了解文本编辑器的三种模式。

3.熟练掌握使用vi编辑器进行编辑、选择及操作文本文件的命令。

二、实验容

1.进入和退出vi。

2.利用文件拷贝方式建立一个文件。

3.在该文件上移动光标位置。

4.对该文件容执行删除、修改、替换等操作。

三、实验步骤

1.在当前用户默认工作目录下新建一个名为“test02”的目录。

2.将文件“/etc/rsyslog.conf’复制到“test”目录下。

3.使用vi打开est’’目录下的rsyslog.conf〇

4.指出设定umask(类似于“umask0022”)的所在行号。

5.将光标移到该行,并复制该行容。

6.将该行容容粘贴至最后一行。

7.撤销第6步的动作。

8.光标移到“$FileOwnersyslog”,删除该行。

9.存盘但不退出。

10.将光标移到首行,插入模式下输入“Hello,thisisviworld!

”。

11.向下查找字符串“syslog”。

12.再向上査找字符串“TCP”。

13.强制退出vi,不存盘。

四、实验思考题

1.举例说明实验中使用的命令处于何种模式下?

2.说明在vi中如何实现字符串的查找,并实现查找结果的自动换行。

3.说明在vi中如何实现行号的显示与关闭。

实验六库文件的建立与引用(必做实验)

按照课本第一章,第7-11页,建立并引用库文件,写出实验过程及结果。

库函数介绍:

1.Linux系统调用,文件的描述符使用的是一个整数,库函数访问文件使用FILE类型的指针去指向描述文件;

2.库函数不随系统平台而变,即不管win还是Linux都适用;

库函数-读文件

size_tfread(void*ptr,size_tsize,size_tn,FILE*stream)

功能:

从stream指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放入ptr所指向的字符数组中,返回实际已读取的字节数。

(读出来的数据量为size*n)

库函数-写文件

size_tfwrite(constvoid*ptr,size_tsize,size_tn,FILE*stream)

功能:

从缓冲区ptr所指向的数组中把n个字段写到stream指向的文件中,每个字段长为size个字节,返回实际写入的字段数。

库函数-创建和打开

FILE*fopen(constchar*filename,constchar*mode)

filename:

打开的文件名(包含路径,缺省为当前路径)

mode:

打开模式

实例代码

#include

#include

#include

#defineBUFFER_SIZE1024

/*程序入口*/

intmain(intargc,char**argv)

{

FILE*from_fd;

FILE*to_fd;7

/*判断入参*/

if(argc!

=3)

{

printf("Usage:

%sfromfiletofile\n",argv[0]);

}

longfile_len=0;

charbuffer[BUFFER_SIZE];

char*ptr;

/*打开源文件*/

if((from_fd=fopen(argv[1],"rb"))==NULL)

{

printf("Open%sError\n",argv[1]);

exit

(1);

}

/*创建目的文件*/

if((to_fd=fopen(argv[2],"wb"))==NULL)

{

printf("Open%sError\n",argv[2]);

exit

(1);

}

/*测得文件大小*/

fseek(from_fd,0L,SEEK_END);

file_len=ftell(from_fd);

fseek(from_fd,0L,SEEK_SET);

printf("formfilesizeis=%d\n",file_len);

/*进行文件拷贝*/

while(!

feof(from_fd))

{

fread(buffer,BUFFER_SIZE,1,from_fd);

if(BUFFER_SIZE>=file_len)

{

fwrite(buffer,file_len,1,to_fd);

}

else

{

fwrite(buffer,BUFFER_SIZE,1,to_fd);

file_len=file_len-BUFFER_SIZE;

}

bzero(buffer,BUFFER_SIZE);

}

fclose(from_fd);

fclose(to_fd);

exit(0);

}

结果及说明:

rootwl-MS-7673:

/home/wl/桌面/c++#g++file_lib_copy.cpp-ofile_lib_copy

file_lib_copy.cpp:

在函数‘intmain(int,char**)’中:

file_lib_copy.cpp:

43:

41:

警告:

格式‘%d’expectsargumentoftype‘int’,butargument2hastype‘longint’[-Wformat]

rootwl-MS-7673:

/home/wl/桌面/c++#./file_lib_copyfile_lib_copy.cpptest2.c

formfilesizeis=1030

rootwl-MS-7673:

/home/wl/桌面/c++#

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

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2