《Linux实用操作系统》
实验指导
1
概 述
一、实验教学的内容及目的
本课程的实验指导书对上机实验内容部分进行指导。
上机试验以培养学生的独立思考能力与动手能力为主导原则,目的在于对课堂讲授的内容加深理解和巩固,让学生在理解基本理论的基础上,掌握Linux的功能、掌握Linux操作的方法,提高学生的分析问题、解决问题的能力和动手能力。在培养学生动手实践能力的同时,逐步锻炼学生自学的能力,进一步树立学生的创新精神。
二、实验基本内容及课时
为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了10个实验,每个实验2学时,学生可以在上机时先完成指导书中给出的内容,在理解掌握所学知识的基础上再深入其他的操作。指导书中的10个实验如下:
实验题目 1. 安装Linux操作系统 2. 文件管理与常用命令(一) 3. 文件管理与常用命令(二) 4. vi文本编辑 5.Shell编程(一) 6.Shell编程(二) 7. 用户与用户组管理和软件包管理 8.Linux磁盘管理 9. 进程管理、设备管理、内存管理 10.TCP/IP网络配置 实验课时 2 2 2 2 2 2 2 2 2 2 三、实验设备要求
实验用机的软件和硬件基本配置。
软件配置:Windows 2000/XP/Vista/Win7系统 Vmware Workstation 6.0及以上版本 Linux Redhat系列
硬件配置:CPU P4 2.0G以上、内存 512MB以上
2
实验一 安装Linux操作系统
【实验目的】
了解Linux操作系统的发行版本;掌握Linux系统安装方法;练习系统登录、注销、重启和关机。
【实验内容】
1.Vmware Workstation 6.0下创建Red Hat Linux虚拟机,要求虚拟机的内存为256MB或更大,硬盘为8GB或更大。
2.使用RHEL 5.3的DVD光盘或ISO文件安装Linux系统。
【实验指导】
1.硬盘和分区知识以及Linux文件系统的组织方式 (1)硬盘和分区知识
磁盘有IDE接口和SCSI接口两种。
磁盘在使用前需分区。磁盘分区有主分区、扩展分区和逻辑分区之分。一块硬盘可以有4个主分区,其中一个主分区的位置可以有一个扩展分区替换,即可以有3个主分区和一个扩展分区,且一块硬盘只能有一个扩展分区,在这个扩展分区中可以划分多个逻辑分区。 (2)Linux如何表示分区
在Windows系统中使用盘符来标识不同的分区,而在linux下使用分区的设备名来标识不同的分区,设备名存放在/dev目录中。 磁盘设备名称如下:
系统的第1块IDE接口的硬盘称为/dev/hda 系统的第2块IDE接口的硬盘称为/dev/hdb
系统的第1块SCSI接口的硬盘称为/dev/sda 系统的第2块SCSI接口的硬盘称为/dev/sdb
分区使用数字编号表示:
系统的第1块IDE接口硬盘的第1个分区称为/dev/hda1
系统的第1块IDE接口硬盘的第5个分区称为/dev/hda5 系统的第2块SCSI接口硬盘的第1个分区称为/dev/sdb1 系统的第2块SCSI接口硬盘的第5个分区称为/dev/sdb5
注意:数字编号1-4留给主分区或扩展分区使用,逻辑分区编号从5开始。 (3)Linux文件系统文件系统的组织方式------挂载点
Linux系统只有一个根目录,即只有一个目录树。不同磁盘的不同分区只是这个目录树的一部分,在linux中创建文件系统后(类似format),用户不能直接使用它,要挂载文件系统后才能使用。挂载文件系统首先要选择一个挂载点。
2.利用VMware Workstation 6.0 创建一台新的虚拟机 (1)选择VMware Workstation的File菜单下的New-Virtual Machine命令,出现以下对话框,
3
单击下一步;
(2)选择要创建一台典型虚拟机,按下一步继续;
(3)选择客户操作系统;
(4)为虚拟机选择一个虚拟机名称和目录;
4
(5)设置虚拟机网络访问,可用的选择为:
使用桥接网络:通过你的计算机中的一块以太网适配器卡直接连接到一个本地以太网。
使用网络地址翻译(NAT):允许客户操作系统使用主机的 IP 地址访问主机的拨号或者外部以太网连接。
使用仅为主机网络:通过一个虚拟网络从内部连接客户操作系统到主机。 不使用一个网络连接;
(6)设置虚拟磁盘大小;
5
(7)单击完成按钮,虚拟机就创建好了。
3.系统安装过程
安装系统之前,先要设置一下虚拟机的光驱,如上图所示,双击“设备”下的“CD-ROM”项,打开配置窗口。使用的是Linux安装光盘,因此点选“使用物理驱动器”项,并在下拉列表中选择正确的光驱盘符(如:\"J\");如果是从网上下载的ISO安装映像文件,则点选\"使用ISO映像\"项,并通过\"浏览\"按钮选择下载所得的安装映像文件。设置完毕,单击\"确定\"按钮。
双击“Start Virtual Machine”,启动虚拟机,开始安装 Linux操作系统。 (1)使用光盘启动后,出现安装界面,按“Enter”进入图形安装环境。
6
(2)按“Skip”跳过安装介质检查。
(3)RHEL 5.0欢迎界面。 (4)语言选择。
选择恰当的语言会在稍后的安装中帮助你定位时区,点击下一步继续。 (5) 键盘配置。
选择你要在本次安装中和今后使用的系统默认键盘布局类型(例如,美国英语式),点击「下一步」来继续。
(6).输入安装序列号,可以跳过 (7)磁盘分区
磁盘分区允许你将硬盘驱动器分隔成独立的区域
在选择磁盘上删除所有分区并创建默认分区结构。 在选择驱动上删除Linux分区并创建默认的分区结构 使用选择驱动器中的空余空间并创建默认的分区结构 建立自定义的分区结构。
(8)选择上步的“建立自定义的分区结构”。
安装Red Hat Enterprise Linux 系统一般需要三个分区
一个交换分区(大小为物理内存的两倍) 一个boot分区 (80MB~120MB) 一个根分区 (1.7GB~5.0GB)
注意:掌握硬盘和分区知识以及Linux文件系统的组织方式。 (9)配置引导装载程序配置。
(10)设置网络。
如果您是通过DHCP获得IP地址的,用默认的DHCP就行; 如果你手工地输入了 IP 和子网掩码信息,你可能还得输入网关、主要、次要、和第三 DNS 地址。
(11)设置时区。
(12)设置root口令。 (13)定制软件包。 (14)开始安装RHEL。 (15)完成安装。
安装程序会提示你做好重新引导系统的准备。重启过程中,会要求创建一个普通用户。
【实验重点】
1.掌握硬盘和分区知识,包括硬盘分类、硬盘以及分区在Linux下如何标识。 2.掌握Linux文件系统的组织方式—挂载点含义。 3.学会使用VMware Workstation。 4.学会安装Linux系统。
7
实验二 文件管理与常用命令(一)
【实验目的】
熟悉命令行操作方式;掌握man,help等常用的帮助命令;掌握Linux目录常见的概念(路径,根目录、用户主目录);熟悉文件与目录的基本操作,包括显示文件内容命令-cat、more、less、tail;文件内容查询命令-grep;文件查找命令-find,locate;文本处理命令-sort,uniq;文件内容统计命令-wc; 文件比较命令-comm,diff;文件复制、移动和删除命令-cp,mv,rm;文件链接命令-ln;目录的创建与删除-mkdir,rmdir;改变工作目录、显示路径以及显示目录内容命令-cd、pwd,ls等。
【实验内容】
1. 对命令行基本操作进行了解,具体步骤如下: (1)通过终端熟悉命令行的使用;
(2)使用智能补全、历史记录等功能;
(3)使用man、help、info查看cat、head、tail等命令的联机帮助。 2. 文件与目录基本操作命令
(1)用root帐号登录到终端,使用pwd命令查看当前目录;
(2)使用cd命令将当前目录切换到/目录下;
(3)使用ls命令查看Linux的目录结构,了解各个目录存放与系统相关的文件; (4)使用cat、more、head、tail等命令显示/etc/inittab文件内容; (5)使用grep命令在/etc/inittab文件中查询“initdefault”字符串;
(6)使用find和locate命令查找/目录下所有以main开头的文件,并显示这些文件的内容; (7)用cp命令将/etc目录下的inittab文件和拷贝到/root目录下;
(8)使用sort或uniq命令对/root目录下的inittab文件排序后输出其结果; (9)统计inittab文件的字节数、行数、字数;
(10)用mkdir命令在/root目录下创建一个test目录;
(11)用cp命令将/etc目录及其下所有内容复制到test目录下; (12)使用cd和ls 查看/root/test/etc下的内容; (13)将test目录改名为test2; (14)删除test2目录。
(15)通过ln命令创建硬链接和符合链接。
【实验重点】
1.熟悉命令行环境;
2. 路径(包括绝对路径、相对路径)的表示;
3. 掌握各种文件目录操作命令,熟悉常用的命令选项。
8
实验三 文件管理与常用命令(二)
【实验目的】
通过练习,使学生能够对Linux中文件所有者的概念和权限的概念有基本的理解;使用长列表命令来查看文件与目录的信息,能够解释文件与目录权限中各位的含义;能够对普通文件与目录的权限进行操作;熟悉文件/目录的打包和压缩命令。
【实验内容】
1.设置文件权限
(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)为其他用户添加写权限:#chmod o+w file1。查看设置结果。 (8) 回到上层目录,查看test的权限。
(9)为其他用户添加对此目录的写权限。#chmod o+w test。查看设置结果。 (11)查看目录test及其中文件的所属用户和组。
(12)把目录test及其下的所有文件的所有者改成bin,所属组改成daemon:#chown -R bin:daemon test/。查看设置结果。 (13)删除目录test及其下的文件。
(14)设定umask,#umask 000;重新创建test1目录,并查看其权限。 2.打包压缩命令
(1)将/etc目录拷贝到/root目录下;
(2)将/root/etc目录用tar命令打包成etc.tar.gz,查看etc.tar.gz的内容,解压缩etc.tar.gz。
【实验重点】
1.使用长列表命令查看文件、目录的权限;
2.比较各文件间的权限有何不同,理解文件权限和文件的所有者的含义; 3.用八进制模式和符号模式设置和修改权限;
4.了解权限被修改后文件和目录的工作有何改变;
5.能熟练使用打包和压缩命令,如gzip、bzip2、 tar、zip、unzip等。
9
实验四 vi文本编辑
【实验目的】
1.掌握vi编辑器的启动和退出方法; 2.掌握vi编辑器中录入文件内容的方法; 3.掌握vi编辑器的各种编辑命令的使用;
4.比对微软公司的Word编辑软件,了解vi的优缺点;
【实验内容】
(1) vi编辑器的启动和退出
首先启动shell终端,如下图
在shell提示符下输入vim或vi,将启动vi编辑器
10
若要退出vi在末行命令模式下输入:wq或:q!即可
(2) 使用键在编辑命令模式和末行命令模式和插入模式之间进行切换 进入插入模式 a追加,i插入,o当前行后插入一空行.
注意其他三个对应命令:A I O
(3) 复制正文 yy 复制当前行, nyy复制n行. (4) 删除正文 x删除一个字符, dd 删除当前行,ndd 删除n行, dw 删除一个单词。删除内容均放在缓冲区。
(5) 替换正文 p 将缓冲区的内容粘贴到当前光标处。rn用字符n替换当前字符。 (6) 查找定位nH将光标定位到第n行开头。
(7) 文件操作:w 写盘,:wq写盘退出,:q!不存盘退出,:w filenam写文件名。 (8) 使用vi编辑生成三个100行字符,名字分别为my1,my2和my3的文本文件 (9) 在vi编辑my1状态下查看当前目录,使用搜索字符串、删除和粘贴功能,使用替换命令及存盘退出、存盘不退出和不存盘退出命令。
(10) 从文件读取输入,并输出到显示器。
(11) 把标准输出定向到文件中,记录文件内容。
(12) 把my1,my2和my3合并为一个文本文件my,并用命令wc显示其行数、单词数
和字符数。 (13) 构造一个”>>”使用符号追加新内容的例子。
(14) 查找my,my1,my2和my3中有没有包含salary,ab、cd的行,有几个文件包含
ab.
【实验重点】
1.能熟练通过vi进行文本文件的创建、修改、保存等; 2.掌握命令模式中常用的一些命令; 3.能够熟练进行vi三种工作方式的切换; 4.掌握ex转义方式下常用命令的功能;
11
实验五 Shell编程(一)
【实验目的】
1、了解shell的概念;
2、了解shell变量的种类及其使用; 3、理解和掌握条件测试的原理和方法; 4、掌握用vi创建shell脚本的方法; 5、掌握shell脚本的执行方法;
【实验内容】
1.Shell变量
Shell有两种变量:环境变量和临时变量。在Shell脚本中临时变量又分为两类:用户定义的变量和位置参数。
用户定义的变量:
用户定义的变量是最普遍的Shell变量,变量名是以字母或下化线打头的字母、数字和下线符序列,并且大小写字母意义不同。变量名的长度不受限制。定义变量并赋值的一般形式是: 变量名=字符串例如,
MYFILE=/usr/meng/ff/m1.c (1)定义并显示变量的值
在程序中使用变量的值时,要在变量名前面加上一个符号“$”。这个符号告诉Shell,要读取该变量的值。
练习1:
$ dir=/usr/mengqc/file1 $ echo $ dir
/usr/mengqc/file1 $ echo dir dir
$ today=Sunday $ echo $ today $ Today Sunday
$ str=\"Hapy New Year ! \" $ echo \"Wish You $str\"
Wish You Happy New Year ! (2)read命令
作为交互式输入手段,可以利用read命令由标准输入(即键盘)上读取数据,然后赋给指定的变量。其一般格式是:read 变量1 [变量2...]
练习2:
12
$ read name -----输入read命令 mengqc -----输入name的值
$ echo \"Your Name is $ name.\"
Your Name is mengqc -----显示输出的结果 $ read a b c -----read命令有三个参数
crtvu cn edu -----输入三个字符串,中间以空格隔开
$ echo \"Email : $a. $c. $b\"
Email : crtvu.edu.cn -----显示输出结果
利用read命令可交互式的为变量两赋值。输入数据时,数据间以空格或制表符作为分隔符。注意以下情况:
*若变量个数与给定数据个数相同,则依次对应赋值,如上面例子所示。
*若变量数少于数据个数,则从左至右依次给变量赋值,而最后一个变量取得所有余下数据的值。
*若变量个数多余给定数据个数,则从左到右依次给变量赋值,后面的变量没有输入数据与之对应时,其值就为空串。
位置参数
执行Shell脚本时可以使用参数。由出现命令行上的位置确定的参数称做位置参数。在sh中总共有十个位置参数,其对应的名称依次是$0,$1,$2,...$9。其中$0始终表示命令名或Shell脚本名,对于一个命令行,必然有命令名,也就必定有$0;而其它位置参数依据实际需求,可有可无。
练习3:位置参数的作用。
a.在你的计算机上建立以下三个文件(设建立在目录/usr/username之下,其中username表示你的主目录名):
文件m1.c:
main( )
{
printf(\"Begin \\n\"); }
文件m2.c:
# include < stdio.h > {
printf(\"OK! \\n\"); }
文件ex3:
# ex3: shell script to combine files and count lines cat $1 $2 $3 $4 $5 $6 $7 $8 $9 | wc -l
# end
b.将ex3改为具有执行权限: $ chmod +x ex3
c.利用env命令查看在环境变量PATH中是否包含你的当前工作目录(即/usr/use-name)。如果没有包含在其中,则利用以下语句改变PATH的值:
$ PATH= $ PATH:/usr/usr/username d.执行脚本ex3: $ ex3 m1.c m2.c
13
10
练习4: 利用位置参数给定变量赋值。 a.建立脚本ex5,如下所示: n1=$1 n2=$2 n3=$3
cat $n1 $n2 $n3 | wc -l
b.将ex5改为具有执行权限: $ chmod +x ex5 c.执行脚本ex5: $ ex5 m1.c m2.c 10
2.Shell中的特殊字符 通配符
通常的通配符有三种:
* 星号,它匹配任意字符的0次或多次出现。但注意,文件名前面的圆点(.)和路径名中的斜线(/)必须显示匹配。
? 问号,它匹配任意一个字符。
[] 一对方括号,其中有一个字符组。其作用是匹配该字符组所限定的任意一个字符。 应该注意:字符 * 和?在一对方括号外面是通配符,若出现在其内部,它们就失去通配符的能力了。
! 叹号,若它紧跟在一对方括号的左方括号[之后,则表示不在一对方括号中所列出的字符。
引号
在Shell中引号分为三种:单引号、双引号、和倒引号。 (1)双引号
由双引号括起来的字符,除$、倒引号和反斜线(\\)仍保留其功能外,其余字符通常作为普通字符对待。
练习5:
a.建立以下文件ex8: echo\"current directory is`pwd`\" echo\"home directory is $ HOME\" echo\"file * . ?\"
echo\" directory ' $ HOME ' \" b.执行ex8:
$sh ex8 (2)单引号
由单引号括起来的字符都作为普通字符出现。 (3)倒引号 练习6:
$ today=`date`
$echo Today is $ today
Today is Thu May 04 10 :56 :20 CST 2000
14
$ 又:
$ users=`who | wc -l`
$ echo The number of users is $ users The number of users is 5 (3)反斜线
转义字符,若想在字符串中使用反斜线本身,则必须采用(\\\\)的形式,其中第一个反斜线作为转义字符,而把第二个反斜线变为普通字符。
3.条件判断与循环结构
if 语句 练习7:
a.建立脚本ex9:
echo \"The current directory is `pwd`\" if test - f \" $1\"
then echo \" $1 is an ordinary file.\" else echo \" $ 1 is not anordinary file.\" fi
b.执行ex9: $sh ex9 ex1
The current directory is /usr/mengqc
ex1 is anordinary file.
if语句的else部分还可以是else-if结构。(wj14) if test - f \" $1\" then cat $1
else if test - d \" $1\"
then ( cd $1 ;cat * )
else echo \"$1 is neither a file nor a directory.\" fi
fi
如上例改写成为: if test -f \" $1\" then cat $1 elif test -d \" $1\" then ( cd $1 ; cat * )
else echo \" $1 is neither afile nor adirectory.\" fi
测试语句:
有两种常用形式:一种是用test命令,如上所示。另一种是用一对方括号将测试条件括起来。两种形式完全等价。例如,测试位置参数$1是否是已存在的普通文件,可写成:test -f \" $1\",也完全可写成:[ -f $ l ]
在格式上应注意,如果在test语句中使用shell变量,为表示完整、避免造成歧异起见最好用双引号将变量括起来。利用一对方括号表示条件测试时,在左方括号[之后、右方括号]之前各应有空格。
练习8:
15
a.建立脚本文件ex10 echo \"Enter your filename\" read filenane
if [ -f \" $filename\"] then cat $ filename else if [ -d \" $ filename\"] then cd $ filename
ls -l *
else echo \" $ filename:bad filename\" fi
fi
b.执行ex10 $sh ex10
【实验重点】
1.Shell变量的种类及作用; 2.Shell程序的执行;
3.Shell程序中的条件测试;
16
实验六 Shell编程(二)
【实验目的】
1、掌握if、case等条件语句的使用;
2、掌握for、while、until等循环语句的使用方法; 3、理解和掌握shift及其它语句的使用方法;
【实验内容】
相关知识: 1. if 语句
if语句通过判断逻辑表达式来作出选择,在bash中的条件语句有如下的格式: if [ expression ]; then statements
elif [ expression ]; then statements else
statements fi
if条件是可以嵌套的, 2. case语句
case语句是用来执行依赖于离散值或是匹配指定变量值的范围的语句。 格式如下: case str in
str1 | str2) statements;; str3 | str4) statements;; *) statements;; esac 3.for语句
17
for curvar in list do
statements done
对list中的每个值需要执行一次statements时应利用这种格式。对每次循环,把list中的当前值赋给变量vcurvar. List可以使含有几个项的变量,或是用空格分隔的值表。 4. while语句
在pdksh和bash 中,利用的如下的格式: while expression do
statements done
练习1. 求前五个偶数的和 参考程序: #!/bin/bash loopcount=0 result=0
while [ $loopcount –lt 5 ] do
loopcount=‘expr $loopcount +1’ increment=‘expr $loopcount \\*2’ result= ‘$result + $increment’ done
echo \"result is $result“
练习2.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。 参考程序: #!/bin/sh i=1
groupadd class1
18
while [ $i -le 30 ] do
if [ $i -le 9 ] ;then username=stu0${i} else
username=stu${i} fi
useradd $username mkdir /home/$username
chown -r $username /home/$username chgrp -r class1 /home/$username i=$(($i+1)) done
练习3.编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。 参考程序: #!/bin/sh i=1
while [ $i -le 50 ] do
userdel -r stud${i} i=$(($i+1 )) done
【实验重点】
1. shell编程中条件控制语句的使用; 2. 复杂shell程序的编写和调试;
19
实验七 用户与用户组管理和软件包管理
【实验目的】
熟悉命令行操作方式进行用户和用户组管理的方法;学会使用RPM命令管理RPM软件包。
【实验内容】
1. 创建用户和组
(1)创建一个新用户user1,设置其主目录为/home/user1: #useradd –d /home/user1 -m user1
(2)查看/etc/passwd文件的最后一行,看看是如何记录的。
(3)查看文件/etc/shadow文件的最后一行,看看是如何记录的。 (4)给用户user1设置密码:#passwd user1。
(5)再次查看文件/etc/shadow文件的最后一行,看看有什么变化。 (6)使用user1用户登录系统,看能否登录成功。 (7)使用同样的方法创建user2用户
(8)更改用户的属组,使用usermod命令来修改,其中“-g”参数是修改用户所属的群组,“-G”修改用户所属的附加群组:#useradd –g root user1
#useradd –G root user2
(9)修改完成后可以来看一下上面两个参数的区别,此时打开/etc/passwd文件来查看,可以看到此时user1用户只属于root组中,而user2用户即属于user2组又属于root组 (10)更改用户user1的帐户名为user2:#usermod –l user2 user1。 (11)查看/etc/passwd文件的最后一行,看看有什么变化。 (12)删除用户user2。#usermod user2 2.组的管理
(1)创建一个新组,stuff:#groupadd stuff。
(2)查看/etc/group文件的最后一行,看看是如何设置的。
(3)创建一个新帐户user02,并把他的起始组和附属组都设为stuff: #useradd –g stuff –G stuff user02。
(4)查看/etc/group文件中的最后一行,看看有什么变化。 (5)给组stuff设置组密码:#gpasswd stuff。
(6)在组stuff中删除用户user02:#gpasswd –d user02 stuff。 (7)再次查看/etc/group文件中的最后一行,看看有什么变化。
(8)删除组stuff。
3.rpm软件包的安装,卸载
使用Webmin可以轻松配置Linux服务器,甚至是远程配置目前Linux上运行的所有服务。Webmin的管理工作是通过网页的方式来实现的,所有操作简单、直观。全部功能可以分为五个部分:Webmin自身配置、系统配置管理、服务配置管理、硬件配置、其他配置。 (1)使用rpm –ivh 命令来安装webmin软件包;
20
(2)检测一下webmin是否启动,使用netstat –an命令检查端口是否开放(10000端口);
(3)查看一下ip地址;
(4)通过浏览器来测试一下,在地址栏中输入对方Linux服务器的ip地址如:http://192.168.1.200:10000(连接10000端口);
此时webmin已经安装完了,注意:如果这个时候来直接通过远程配置服务器,那么配置用户的口令可能会被其他人截获,最好是能够配置上ssl加密传输 (5)卸载webmin软件包。 #rpm –e webmin
【实验重点】
1.用户和组相关文件;
2.创建用户、组帐户和设置用户口令; 3.RPM管理方法。
21
实验八 Linux磁盘管理
【实验目的】
了解常用的Linux支持的文件系统;熟悉磁盘分区的命名方式;学会使用fdisk命令进行磁盘分区;学会创建不同类型的文件系统;学会挂载和卸载文件系统,学会在系统启动时自动挂载文件系统;学会常用磁盘管理命令;了解磁盘配额的意义和基本方法。
【实验内容】
1. 在VMware中添加一块虚拟硬盘,执行以下操作:
(1)使用fdisk命令进行磁盘分区,然后使用fdisk –l查看分区情况; (2)使用mkfs命令创建文件系统;
(3)使用mount和umount命令实施挂载和卸载文件系统的操作; (4)修改配置文件/etc/fstab,在系统启动时自动挂装文件系统;
【实验指导】
任务一:分区、格式化、挂载练习 1.在VMware中添加一块虚拟硬盘 (1)在虚拟机中点击下面的图标。
(2)此时在弹出的对话框中选项添加按钮。
22
3)此时会弹出向导来帮助我们添加相应的设备,选择Hard Disk,单击下一步。
4)在出现的对话框中,选择第一项,单击第一步。
23
(
( 5)选择硬盘类型(IDE或SCSI),单击下一步。
6)指定文件名称。
24
((
(7)在下面的对话框中可以适当的调整添加硬盘的大小和与其相应的选项。
(8)单击完成,虚拟硬盘即添加成功。
2.使用fdisk命令创建分区
(1)进入Linux系统的命令行模式中使用fdisk -l命令来查看系统中的硬盘
25
(2)使用命令的方式来查看硬盘分区,下图是fdisk中的常用命令,m表示显示菜单,p查看分区情况
(3)创建主分区分区:
(4)创建扩展分区:
26
(5)创建逻辑分区:
(6)关于分区类型,可以键入l键来查看:
注意:如果想更改相应的文件类型可以使用“t”键来更改
(7) 如果对以上的分区没有什么异议,需要使用“w”键来进行保存:
27
3.格式化分区
使用mkfs命令来格式化硬盘,mkfs –t ext3 /dev/ sdb1 4.使用mount命令来挂载刚刚创建的分区 (1)创建挂载目录:mkdir /mnt/usrtfile;
(2)使用mount命令来挂载刚刚创建的分区;
5.自动挂载
我们可以直接使用mount命令来挂载相应的分区和目录,如上图所示, “mount + 分区名称 + 挂载目录”如:“mount /dev/sdb1 /mnt/userfile” 我们还可以修改相应的配置文件使用自动挂载的方法: 修改/etc/fstab文件,在最后添加一行:
28
此后重启计算机后目录将自动挂载。
【实验重点】
1.使用文件系统遵循的一般过程:分区、格式化、挂载;
实验九 进程管理、内存管理、设备管理
【实验目的】
理解进程和守护进程的概念;掌握启动进程的命令;学会查看进程状态的命令和杀死进程的命令;掌握作业控制命令fg、bg、jobs等;学会用at和cron执行计划任务掌握PROC文件系统的作用以及如何使用PROC文件系统来获得进程的信息;学会使用free命令监视内存使用情况,学会使用vmstat命令监视虚拟内存情况;了解设备文件的分类,使用设备编号的方式来标识每个设备,学会使用mknod命令创建设备文件。
29
【实验内容】
1.进程管理
(1)使用ps命令查看和控制进程
1) 显示本用户的进程:#ps。
2) 显示所有用户的进程:#ps -au。 3) 在后台运行cat命令:#cat &。 4) 查看进程cat :# ps aux |grep cat。 5) 杀死进程cat:#kill –9 cat。
6) 再次查看查看进程cat,看看是否被杀死。 (2)使用top命令查看和控制进程
1) 用top命令动态显示当前的进程。
2) 只显示用户user01的进程(利用u键)。 3) 利用k键,杀死指定进程号的进程。 (3)挂起和恢复进程
1) 执行命令cat。
2) 按Ctrl+z键,挂起进程cat。
3) 输入jobs命令,查看作业。
4) 输入bg,把cat切换到后台执行。 5) 输入fg,把cat切换到前台执行。 6) 按Ctrl+c键,结束进程cat。 (4)使用at命令定时执行某命令
下午4点,用户找出系统中所有的以.c为后缀的文件,将结果保存到/etc/result文件中,然后向user1发邮件告知用户已经完成。
1) #at 4pm
2) 出现at>提示符,输入;
at> find / -name “*.c” >/etc/result
at>echo “user1:All code file have been seached out.You can take them over.Bye”|mail –s “job done” user1
3) 按Ctl+D键结束at命令的输入 (5)安排计划任务
1) 查看crontab命令的帮助信息:#crontab -help。 2) 查看用户的计划任务列表:#crontab –l。
3) 建立一个crontab文件:#echo “45 11 22 7 * ls /etc” >cronfile。
7月22日11点45分执行ls /etc
4) 使用crontab命令安装crontab文件,安排计划任务:#crontab cronfile。 5) 查看计划任务表,看看计划任务是否已被安排:#crontab –l。 6) 删除计划任务列表,并进行确认。 (6)进程文件系统PROC;
1) 查看/proc目录下的内容;
2) 查看某进程的详细情况。 2.内存管理
使用free命令监视内存使用情况;使用vmstat命令监视虚拟内存情况;
30
3.设备管理
(1)了解设备文件的分类
将目录切换到/dev目录下。执行ls –l命令,查看信息行的第一个字符,若是b说明该设备是块设备,若是c说明是字符设备;查看设备的主设备号、次设备号,注意相同类型的设备主设备号相同,次设备号不同。
(2)使用mknod命令创建一个命名管道文件。
#mknod /tmp/pipe1 p
【实验重点】
1.进程概念和进程管理命令; 2.内存管理命令; 3.设备分类。
31
实验十 TCP/IP 网络配置
【实验目的】
熟练掌握Linux操作系统IPv4地址的配置方法,掌握TCP/IP网络配置文件常见配置。
【实验内容】
1. 使用setup菜单完成TCP/IP网络配置;
(1)在命令行运行setup,选择“Network Configuration” (2)选择“eth0(eth0)„„” (3)取消“Use DHCP”
(4)配置IP地址和子网掩码为192.168.202.5/255.255.255.0,网关为192.168.202.1 (5)一层层退出
(6)运行ifdown eth0禁用以太网卡
(7)运行ifup eth0启用以太网卡并重新读取配置。 (8)使用ifconfig检查eth0网卡的IP地址配置。 2.手工编辑网络配置文件 (1)vi /etc/sysconfig/network :这是一个重要的网络配置文件 NETWORKING=YES :是否允许IPv4
NETWORKING_IPV6=YES :是否允许IPv6 HOSTNAME=RHEL
:配置主机名
GATEWAY=192.168.202.1 :配置IPv4网关 (2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 :这是第一个以太网卡的配置文件DEVICE=eth0 :设备名称
BOOTPROTO=static :地址获取方式:静态配置 BROADCAST=192.168.202.255 :IPv4广播地址 HWADDR=00:0C:29:97:2B:B8 :MAC地址 IPADDR=192.168.202.5 :IPv4地址 IPV6ADDR=2001::5/64
:IPv6地址
IPV6INIT=yes :是否开机时启用IPv6配置
IPV6_AUTOCONF=no :是否使用IPv6地址的自动配置 NETMASK=255.255.255.0 :IPv4子网掩码
NETWORK=192.168.202.0 :IPv4网络地址
ONBOOT=yes
:是否开机时启用IPv4配置
(3)vi /etc/resolv.conf :这是DNS服务器配置文件 nameserver 192.168.202.5 :配置主DNS服务器 nameserver 219.146.0.130
:配置辅DNS服务器
3. 常用Linux网络命令
(1)ifconfig :显示或修改IP地址配置
32
(2)route:显示路由表,配置静态路由
route add -net 172.16.0.0 netmask 255.255.0.0 dev eth0
添加了一条静态路由,目标网络为172.16.0.0,子网掩码为255.255.0.0,本地出口为eth0 。 (3)ip:强大的命令
ip address show:显示IP地址配置信息
ip address add 192.168.202.10 dev eth0:给eth0网卡添加一个IP地址 ip address del 192.168.202.10 dev eth0:删除IP地址
ip route show :显示路由表
ip route add 172.20.10.0/24 dev eth0:使用本地出口配置静态路由
ip route add 172.20.20.0/24 via 192.168.202.1:使用下一条IP地址配置静态路由 (4)ping:发送ICMP echo request测试网络连通性 ping 192.168.202.1 :按Ctrl+C结束ping
(5)traceroute:发送递增TTL数据包跟踪网络路由
traceroute -n 219.146.0.130:显示到达219.146.0.130经过的所有路由器接口地址,不解析域名
(6)netstat:显示TCP/UDP/IP网络连接信息 netstat -nutlp:显示本机所有监听连接 netstat -anutlp:显示所有网络连接socket (7)nslookup:调试DNS服务解析 (8)telnet:建立远程telnet连接 (9)ssh:建立远程ssh连接
【实验重点】
1.网卡配置文件编辑; 2.常用Linux网络命令。
33
因篇幅问题不能全部显示,请点此查看更多更全内容