Linux网络操作系统实验指导文档格式.docx
《Linux网络操作系统实验指导文档格式.docx》由会员分享,可在线阅读,更多相关《Linux网络操作系统实验指导文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
2.在虚拟机软件中新建Linux虚拟机
2.1设置内存大小(建议大于256MB)
2.2设置虚拟硬盘大小(建议大于8GB)
2.3设置虚拟光驱(虚拟方式,镜像文件)
2.4设置网络连接模式(建议采用桥接方式)
2.5设置共享目录(建议英文目录名)
3.在Linux虚拟机中安装Linux操作系统(RHEL4.0AS)。
3.1选择安装界面
3.2检测安装截介质(建议跳过)
3.3安装过程中的语言、键盘选择
3.4磁盘分区(采用自动分区,总大小与2.2相匹配)
3.5引导程序选择(采用GRUB)
3.6注意事项(禁用SELinux)
4.通过相关命令实现对操作系统的登录、退出与关机
5.使用文件浏览器查看Linux操作系统目录结构
四、实验思考题
1.列出定时关机的命令并作简要说明。
2.linux操作系统的文本界面和图形界面该如何转化。
3.举例说明Linux操作系统不同目录下文件的主要作用。
4.列出你发现的Linux与Windows操作系统区别。
5.列出你所能想到的虚拟机软件的用途。
实验二Linux常用shell命令
1.熟悉Linux操作环境。
2.掌握Linux一般命令格式。
3.掌握有关文件和目录操作的常用命令。
4.掌握有关进程操作的常用命令。
1.熟练掌握登录和退出系统命令。
2.熟悉date,cal,who,echo,clear,passwd,man等命令。
3.在用户主目录下对文件进行如下操作:
复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除。
4.对目录进行管理:
创建和删除子目录、改变和显示工作目录、列出文件权限、建立链接文件等。
5.显示系统中的进程信息。
1.登录进入系统,打开shell环境(终端)。
2.使用date,cal,who,echo,clear等命令,了解Linux命令格式。
3.利用man命令查看date,echo等命令的帮助说明。
4.目录操作
4.1在用户默认工作目录下新建目录testdir1。
4.2在用户目录下复制testdir1为testdir2。
4.3在用户目录下删除testdir2。
5.文件操作
5.1进入用户默认工作目录。
5.2运行date>
testl,然后运行cattest1,记录观察到的信息。
5.3再次运行date>
5.4运行date>
>
testl,然后运行cattest1,记录观察到的信息并说明原因。
5.5复制test1为test2。
5.6查看test1和test2的文件详细信息,记录并说明其异同。
5.7统计test1文件内容的行数、字数。
5.8显示test1的内容。
5.9建立test1的链接文件test3。
5.10复制test1到上一级目录。
5.11在用户目录下删除test1,删除testdir1。
6.进程操作
6.1显示当前系统中所有进程信息。
6.2结束一个进程。
1.如何显示当前工作目录的完整路径。
2.举例说明Linux命令的常用格式。
3.举例说明如何使用Linux命令帮助。
实验三vim编辑器的使用
1.掌握vi编辑器的进入与退出方法。
2.了解文本编辑器的三种模式。
3.熟练掌握使用vi编辑器进行编辑、选择及操作文本文件的命令。
1.进入和退出vi。
2.利用文件拷贝方式建立一个文件。
3.在该文件上移动光标位置。
4.对该文件内容执行删除、修改、替换等操作。
1.在当前用户默认工作目录下新建一个名为“test02”的目录。
2.将文件“/etc/rsyslog.conf”复制到“test”目录下。
3.使用vi打开“test”目录下的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中如何实现行号的显示与关闭。
实验四基本网络配置
一、实验目的:
1.熟练掌握IPv4地址的配置方法。
2.熟悉TCP/IP网络配置文件常见配置。
3.熟悉常用网络命令。
1.配置IPv4地址。
2.修改TCP/IP网络配置文件。
3.TCP/IP网络测试。
1.TCP/IP网络配置的三种方式
1.1使用图形化界面
1.1.1在顶部面板右侧点击网络管理器→编辑连接→有线,选择“添加”。
1.1.2选择“IPv4”,取消DHCP,选择“手动”。
1.1.3配置IP地址192.168.202.xx,子网掩码255.255.255.0,网关192.168.202.1。
1.2使用命令行界面
1.2.1设置网卡eth0的IP地址和子网掩码IP
$sudoifconfigeth0192.168.203.xxnetmask255.255.255.0
1.2.2设置网关
$sudorouteadddefaultgw192.168.203.254
1.2.3设置DNS修改/etc/resolv.conf,在其末尾添加如下两行。
nameserver192.168.203.5:
配置主DNS服务器
nameserver219.146.0.130:
配置辅DNS服务器
1.3手工编辑网络配置文件
1.2.1设置网络配置文件:
/etc/network/interfaces
$sudovi/etc/network/interfaces
一般情况下会看到如下两行,为本地回路设置。
autolo
ifaceloinetloopback;
本地回路
1.2.2配置动态IP地址时,在其后添加如下内容。
autoeth0
ifaceeth0inetdhcp;
动态IP地址
1.2.3配置静态IP地址时,在其后添加如下内容。
eth0就是计算机的网卡,如果计算机有多块网卡,则还会有eth1,eth2……,均采用类似方法设置。
autoeth0;
网卡
ifaceeth0inetstatic;
静态IP地址
address192.168.204.xxx;
ip地址
netmask255.255.255.0;
子网掩码
gateway192.168.204.1;
网关
1.2.4设置DNS修改/etc/resolv.conf,在其末尾添加如下两行。
nameserver192.168.204.5:
2.禁用以太网卡
$sudoifconfigeth0down
3.启用以太网卡并重新读取配置
$sudoifconfigeth0up
4.检查eth0网卡的IP地址配置
$sudoifconfig
5.重启网络服务。
$sudo/etc/init.d/networkingrestart
五、实验思考题
1.举例说明ifconfig命令的功能。
2.如何实现主操作系统与虚拟机软件中的客户操作系统之间的IP地址访问。
实验五ApacheWeb服务器配置
1.掌握Apache服务器配置过程。
2.熟悉httpd服务配置文件。
3.熟悉挂载与卸载内部命令。
1.设置网络环境。
2.设置httpd服务配置文件。
3.httpd服务测试。
1.配置TCP/IP网络环境
1.1配置IP地址和子网掩码为192.168.202.5/255.255.255.0,网关为192.168.202.1。
1.2网络服务重启
#servicenetworkrestart
2.Apache服务器基本配置
2.1察看httpd软件包是否安装
#rpm-qhttpd
2.2启动httpd服务
#servicehttpdstart
2.3设置httpd服务为自动启动
#chkconfighttpdon
2.4编辑Apache主配置文件/etc/httpd/conf/httpd.conf,说明如下。
ServerRoot"
/etc/httpd"
:
这是Apache的工作目录,不需修改
KeepAliveOn:
修改为On,使得一次TCP连接可以传输多个文件
Listen192.168.202.5:
8080:
修改HTTP服务监听IP地址和端口号
Includeconf.d/*.conf:
/etc/httpd/conf.d/*.conf都是Apache的附加配置文件,不需修改
ServerAdminroot@localhost:
管理员邮箱,可修改为自己的邮箱
ServerName:
80:
设置服务器名称,如果没有配置DNS解析,可设:
置为IP地址和端口号的组合。
把这一行修改为
:
ServerName192.168.202.5:
80
DocumentRoot"
/var/www/html"
这是网站文档主目录,建议保留
<
Directory"
设置主目录的属性
OptionsIndexesFollowSymLinks:
允许目录浏览,允许用符号链接建立虚拟目录。
最好不允许目录浏览权限,即修改为
OptionsFollowSymLinks
AllowOverrideNone:
不允许“.htaccess”文件,不需修改
Orderallow,deny:
访问策略:
如果没有明确允许,就拒绝访问
Allowfromall:
允许所有的访问,这两行都不需修改
/Directory>
DirectoryIndexindex.htmlindex.html.var:
设置默认文档,可不修改
AddDefaultCharsetUTF-8:
默认字符集,对于简体中文网页,需要修改为
:
AddDefaultCharsetGB2312
2.5设置主页文件内容
#vi/var/www/html/index.html:
添加主页文件,随意输入内容
2.6重启Apache服务器
#servicehttpdrestart
3.测试httpd服务
3.1在Windows操作系统中利用浏览器访问http:
//192.168.202.5:
8080/,测试能否显示主页文件index.html。
3.2重新编辑主配置文件,修改监听端口。
3.3重启Apache服务器
3.4访问http:
80/,测试能否显示主页文件index.html。
4.Apache虚拟目录配置
虚拟目录,就是把某个目录映射为主目录下的一个逻辑目录。
要求:
创建虚拟目录/down,实际的目录位置在/var/www/vd。
4.1创建相关目录与文件
#mkdir/var/www/vd
#vi/var/www/vd/index.html:
编辑虚拟目录默认文档,随意输入内容
#mkdir/var/www/vd/conf.vd
#vi/var/www/vd/conf.vd/vd.conf:
编辑虚拟目录默认配置文档,添加内容如下
Alias/down"
/var/www/vd"
4.2编辑Apache主配置文件,添加内容如下。
Includeconf.vd/*.conf
4.3重启Apache服务器
4.4访问http:
//192.168.202.5/down,测试能否显示主页文件index.html。
1.说明Web访问中使用虚拟目录的优点。
2.举例说明一般Internet服务的端口号。
实验六Linux系统管理
3.熟悉命令行操作方式进行用户和用户组管理。
4.掌握Linux下进程管理的基本命令。
1.建立新用户账号权限测试。
2.为新用户建立账号和工作组,并进行相应配置。
3.以该用户身份登录,修改密码。
4.删除该用户。
5.查看系统进程,并终止指定进程。
1.创建用户(以hnist为例)
1.1创建一个新用户hnist。
1.2查看/etc/passwd文件的最后一行内容,并记录。
1.3查看/etc/shadow文件的最后一行内容,并记录。
1.4给用户hnist设置密码。
1.5查看/etc/shadow文件的最后一行内容,记录并说明变化。
1.6使用hnist用户登录系统,测试能否登录成功。
2.创建用户(以user为例)
2.1使用1的步骤创建新用户user。
2.2更改hnist所属群组为root,更改user所属附加群组为root(参考命令useradd-g/-G)。
2.3查看/etc/passwd文件,记录hnist用户和user用户的属组情况。
2.4更改用户hnist的帐户名为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。
4.进程管理
4.1创建进程
4.2使用ps查看系统中进程的状态
4.3使用kill终止进程
1.说明所属群组与所属附加群组的区别。
2.如普通用户遗失密码后要求恢复用户权限,说明root用户可能采取的方式。
3.如何指定不同用户的默认工作目录。
实验七shell程序设计
1.了解shell的作用和主要分类。
2.掌握shell环境变量、管道、输入输出重定向的使用方法。
3.掌握shell脚本的建立和执行方式。
4.熟悉shell脚本的基本结构。
5.掌握shell脚本的调试方法。
1.使用shell变量、位置参数和环境变量。
2.建立shell脚本并执行。
3.使用shell一般控制结构编写脚本。
4.调试shell脚本。
1.了解shell变量、位置参数和环境变量
1.1输入以下命令,记录输出结果并分析。
$dir=/root
$echo$dir
$echodir
1.2输入以下命令,记录输出结果并分析。
$readabc
$wwwhnistcn
$echo"
Web:
$a.$c.$b"
2.建立简单Shell脚本文件
2.1新建Shell脚本文件test_shell_0,编辑内容如下。
cd/var/log
cat/dev/null>
messages
wtmp
echo"
Logscleanedup."
2.2采用多种方式运行test_shell_0脚本,记录输出结果并分析功能。
3.简单shell脚本文件改良
3.1新建shell脚本test_shell_1,编辑内容如下。
#!
/bin/bash
LOG_DIR=/var/log
cd$LOG_DIR
Logscleanedup."
exit
3.2运行test_shell_1脚本,与test_shell_0对比,说明各行的作用。
4.简单shell脚本文件优化
4.1新建shell脚本test_shell_2,编辑内容如下。
ROOT_UID=0
LINES=50
E_XCD=66
E_NOTROOT=67
if["
$UID"
-ne"
$ROOT_UID"
]
then
echo"
Mustberoottorunthisscript."
exit$E_NOTROOT
fi
if[-n"
$1"
]#测试是否有命令行参数(非空).
lines=$1
else
lines=$LINES#如果不在命令行中指定,使用默认
cd$LOG_DIR
if[`pwd`!
="
$LOG_DIR"
Cannotchangeto$LOG_DIR."
exit$E_XCD
tail-$linesmessages>
mesg.temp
mvmesg.tempmessages
exit0
4.2运行test_shell_2脚本,与test_shell_1对比,说明其新增的功能。
1.举例说明shell的功能。
2.列举shell编程中的基本格式。
3.说明shell编程中的调试方法。
实验八Linux环境下C语言编程
(2)掌握gcc编译器使用方法。
(3)掌握gdb调试方法。
1.编辑测试源代码。
2.gcc编译测试源代码
3.gdb调试和排错。
1.编辑如下参考源代码,代码的原意为倒序输出main函数中定义的字符串
#include<
stdio.h>
intdisplay1(char*string);
intdisplay2(char*string);
intmain()
{
charstring[]="
WelcomtoLinux"
;
display1(string);
display2(string);
}
intdisplay1(char*string)
printf("
Theoriginalstringis%s\n"
string);
intdisplay2(char*string1)
char*string2;
intsize,i;
size=strlen(string1);
string2=(char*)malloc(size+1);
for(i=0;
i<
size;
i++)
string2[size-i]=string1[i];
string2[size+1]='
'
printf("
Thestringafterwardis%s\n"
string2);
2.使用gcc将参考源代码编译为可执行文件。
3.运行可执行文件,观察运行结果并记录。
4.使用gdb调试程序,通过设置断点、单步跟踪,找出错误原因并记录。
5.纠正错误,修改参考源代码并记录。
6.使用gcc将参考源代码编译为可执行文件,观察运行结果并记录。
1.请说出gcc编译过程中“-g”选项的作用。
2.请指出gdb调试中命令“n”和“s”的区别。
【实验报告封面】
西安邮电大学
(计算机学院)
课内实验报告
课程名称:
Linux网络操作系统
实验名称:
(与实验指导书中的实验名称一致!
)
专业名称:
班级:
学生姓名:
学号(8位):
指导教师:
实验日期:
年月日
【实验报告内容模板,供参考】
一.实验目的及实验环境
二.实验内容
三.方案设计
四.测试数据及运行结果
1.正常测试数据(3组)及运行结果;
2.非正常测试数据(2组)及运行结果。
五.总结
1.实验过程中遇到的问题及解决办法;
2.对设计及调试过程的心得体会。