UNIX系统基础实验指导修订.docx
《UNIX系统基础实验指导修订.docx》由会员分享,可在线阅读,更多相关《UNIX系统基础实验指导修订.docx(11页珍藏版)》请在冰点文库上搜索。
UNIX系统基础实验指导修订
通信工程学院
UNIX系统基础实验指导书
2011年10月
目录
概述1
实验一Unix基本命令2
实验二vi编辑器6
实验三Unix文件系统8
实验四shell编程10
概述
Unix系统基础实验的主要目的,是通过实验,了解最常用的Unix命令,学会使用系统在线帮助;识别常见的命令响应信息;学会应用最重要的Unix实用工具;掌握shell通用字符替换、输入/输出重定向、管道操作、正则表达式等,Unix操作系统关键知识点;初步学会使用vi/vim编辑器。
了解简单的脚本程序设计方法。
一般以Linux作为具体的实验环境。
Unixshell以bash为基础。
可以选用Ubuntu/Debian或者Fedora/Redhat发行套件,部署实验环境。
课外实验,可以选用KnoppixLiveCD或者使用VirtualBox、VirtualPC虚拟机安装方案,便于在自备机上使用。
1、实验项目列表
序号实验项目实验学时
1Unix基本命令2学时
2vi编辑器2学时
3Unix文件系统2学时
4shell编程2学时
2、实验报告要求
实验过程中,应做好实验笔记。
根据实验笔记撰写实验报告。
实验报告由实验目的、实验过程、操作步骤、系统响应、错误修正等内容构成。
应在实验报告中写明实验结果所说明的问题、实验所获得的体会。
3、实验成绩评定
实验成绩根据实验准备、实验过程、实验报告等几个部分的完成情况综合评定。
分项实验指导
实验一Unix基本命令
实验项目:
Unix基本命令
实验目的:
初步认识Unix系统
实验内容:
初步了解系统的启动、关闭过程。
学会使用模拟终端。
学习Unix命令行的基本格式。
学会使用manpage在线帮助。
实验用时:
2学时
1.Unix系统的启动与关闭
开机。
注意观察系统的启动过程。
留意系统启动哪些服务。
注意:
如果系统以图形界面启动,可以用[Alt-F1]组合键前换到字符控制台,观察启动过程中的信息。
系统启动完毕后,也可用psauxw命令进一步观察系统有哪些进程在运行。
进程号比较小的那些进程,是用户登录前加载的。
你的机器中,有哪些系统进程在运行?
2.一般用户的登录与退出
用户的登录需要输入用户名和口令。
系统预设的用户,用户名:
tom,口令:
tom(这显然不是一个符合安全性的口令,只是在公共实验室环境下,为方便同学使用而设。
避免给其他同学带来麻烦,请不要修改这个口令。
)
图形登录界面的用户登录方式,是显见的。
你可以用[Ctrl-Alt-F1]组合键切换到另一个虚拟的字符终端,练习登录。
登录成功后,用exit命令,或者[Ctrl-D]键退出。
注意,前面的虚拟终端切换,可以分别用功能键F2~F6代替F1。
通常系统自动建立6个虚拟字符终端和6个虚拟图形终端分别对应F1~F6和F7~F12。
所以用[Ctrl-Alt-F7]可将终端切换回图形终端。
3.用户身份切换和超级用户
su命令可以切换用户身份。
最常用的是su后面不带参数。
这意味着希望将身份切换到超级用户root。
系统会要求输入超级用户的口令。
UbuntuLinux系统缺省不允许root用户登录。
可以使用命令sudo–i或者sudo-s-H命令切换用户身份。
这类命令也要求输入口令,只不过是你当前用户的口令。
4.字符终端与仿真终端
许多Unix系统,尤其是服务器,其主要工作环境,是字符终端。
可以使用[Ctrl-Alt-F1]、[Ctrl-Alt-F2]……[Ctrl-Alt-F6]组合键,分别切换到6个虚拟的字符终端。
[Ctrl-Alt-F7]可切换至图形终端。
图形终端内,由终端仿真程序(比如gnome-terminal)提供终端仿真。
后面的大多数实验,均是在这样的终端仿真窗口中,通过交互命令进行。
5.第一个Unix命令
Unix系统启动完毕后,请首先启动一个终端仿真程序。
在仿真终端窗口的左上角,应当可以看到一个美元符号($)。
那是shell的提示符,表示你可以开始输入命令。
“$”符号的前面,或许还有一些其他的内容,暂时不用去管它。
现在可以在shell的提示符后面,开始输入第一个Unix命令了。
你输入:
date
然后,按回车键。
系统将显示:
FriJun1508:
43:
21UTC2007
如果你看到的内容,跟这里有一点不同,那很自然。
因外,你刚刚执行的,是一条显示系统时间的命令。
每次执行时显示的都是当前的日期和时间。
如果你看到的是:
data:
Commandnotfound.
这里真正的意思,并不是说“命令没找到”。
而是说,“你是否输入了一个并不存在的命令?
”仔细检查,你会发现,原来你在键盘上把“date”错误地打成了“data”
以后凡是见到类似上面的提示,你都要想到这一层。
你可以试着执行另一个命令:
“cal”。
不要忘记在每个命令的最后按回车键。
6.使用联机帮助
Unix命令繁多。
每个命令又有许多选项。
即便是Unix老手,也记不清一些不常用选项的功能和用法。
可以使用man命令查阅联机手册。
比如,要了解tar程序的用法可以输入命令:
$mantar
注意,前面的“$”符号是shell的提示符,不需要输入。
这一点,以后不再特别说明。
要了解man命令的用法,可以使用命令:
$manman
在显示多页的联机手册时,可以逐屏翻看。
按q键退出。
7.基本的Unix命令格式
基本上,Unix命令的格式是:
<命令名>[<选项>][<参数>]
“命令名”是必需的,“选项”和“参数”是可选的。
一般的命令可以有多个选项,或者多个参数。
命令、选项、参数之间,用至少一个空格分隔。
传统Unix风格的选项,由一个减号引导,减号跟选项字符之间,没有空格。
比如ls命令的-a、-F选项。
另一种长的选项格式用两个减号引导,比如上面提到的ls的两个选项的另一种风格,写成:
--all和--classify。
单字符形式的选项,允许连起来用。
比如,命令
$ls-a-F
和
$ls-aF
是等效的。
也等同于
$ls--all--classify
8.命令行编辑键
在命令行上输入命令时,出现打字错误,是在所难免的。
在按下回车键之前可以修改。
每次按下[Backspace]键,或者[Ctrl-H]键会从光标处向左侧删除一个字符。
按下[Ctrl-U]键,会从光标处,一直删除本行到最开始位置。
当光标位于行末时,[Ctrl-U]就是删除一整行的含义。
[Ctrl-K]则删除光标之后的部分。
使用向上和向下的光标移动键,可以调出先前曾经使用过的命令。
在原先的命令基础上,修改成新的命令,有时比直接输入新的命令更快。
其他更多用于命令行编辑的按键,可以参考有关文献。
也可以使用命令manreadline获得在线帮助。
不过,在线帮助所提供的信息,对于缺少的经验用户来说,不是那么容易理解。
实验二vi编辑器
实验项目:
vi编辑器
实验目的:
学会使用Unix系统基本的编辑器vi。
实验内容:
vi编辑器的启动、文件保存、退出。
命令模式和输入模式。
光标移动。
基本编辑命令。
vi编辑器编辑命令的一般格式。
搜索与替换。
ex命令。
多文件,多窗口。
与外部命令的联合。
定制。
实验用时:
2学时
1.启动和退出vi编辑器
传统上,UNIX系统中都配有vi编辑器。
在Linux系统中,对应的是vim。
这是一个改进的版本。
功能和vim基本上兼容。
在Linux中,无论输入vi还是vim,启动的都是vim编辑器。
后面不再严格区分。
启动vi最简单的方式,是在命令行输入vi然后回车。
vi可以在命令行中带上文件名作为参数,指明要编辑的文件。
退出vi编辑器的方法,是在命令模式下输入:
:
q或者:
wq或者:
q!
思考:
三种方式的差别?
2.命令模式和文本输入模式之间的切换
vi编辑器的一个突出特点,是它是一种有模式编辑器。
同样的操作在不同的模式下,含义不同。
练习用Esc键和i或a键在文本输入模式和命令模式之间切换。
3.最基本的编辑任务
输入一段文字。
保存,退出vi。
之后再用vi打开刚才用vi建立的文件。
4.移动光标
在命令模式下,试用hjkl键移动光标位置。
用wbe等键移动光标。
探索:
还有哪些移动光标的操作方式?
提示:
在vi命令模式下输入:
:
help
可以获得联机帮助。
5.基本编辑命令
学习插入、追加、删除、移动字符或单词。
6.综合编辑命令
学习整行或一段文字的编辑操作。
7.搜索与替换
在编辑文件中试验搜索文字。
利用自动功能替换特定的字符串。
8.ex命令
ex命令大多数是在命令模式下,用冒号开始的命令。
9.多文件和多窗口编辑
试验用:
new命令打开多个窗口编辑多个文件。
在多个文件中切换。
10.使用外部命令
练习在vi编辑器中,调用外部命令。
试验:
:
r!
date
或者:
:
%xxd
之后再执行
:
%xxd-r
思考:
vi如何于外部程序联合工作?
11.定制编辑器
试验在vi中使用命令:
:
setai
和
:
setnoai
观察两种情况下编辑器的行为变化。
试验其他选项:
nu,ic,sw,wm等。
实验三Unix文件系统
实验项目:
Unix文件系统
实验目的:
理解Unix的文件系统,掌握与文件和目录有关的Unix命令。
实验内容:
UNIX文件系统。
文件,文件类型;目录,目录树,路径。
相对路径与绝对路径。
层次型文件结构。
文件的属主与权限。
隐藏文件。
目录的建立、改变、删除;文件的复制、移动、删除、查看等命令。
磁盘文件的组织。
链接(硬链接、符号链接)。
实验用时:
2学时
1.ls命令,文件属主与模式
尝试在在用户主目录中使用ls命令。
不带任何参数的ls命令,显示当前目录之下的文件和子目录。
可以为ls命令加上各种参数,观察所显示的内容、显示方式、显示次序有什么变化。
尤其注意观察,当ls命令带上-l(小写的L,而不是数字壹)时,所显示的内容。
注意查看每一个文件的属性、读写权限、所有者,等各项信息。
2.cd命令,工作目录,用户主目录
在cd命令之后,不加任何参数,意味着将工作目录,转移到“用户主目录”。
在执行不带参数的命令之后,可以用pwd命令,检查当前实际所在的目录。
cd..可以将当前工作目录切换到当前目录的父目录(上层目录)
cd目录名将目录切换的指定的目录。
这里的目录名,可以使用相对路径,也可以使用绝对路径。
通过使用cd命令可ls命令,了解系统的主要目录结构。
3.mkdir和rmdir命令
先用cd目录将工作目录设定到用户主目录。
学习用mkdir建立新的目录。
注意,如果已经存在同名目录,mkdir命令不能成功。
可以在删空目录内容之后,使用rmdir删除一个目录。
rmdir只能删除目录,不能用来删除文件。
删除文件需要使用后面要实验的rm命令。
4.cp命令
为了实验cp命令,可以用touch命令建立一个空文件用于实验。
例:
touchhello建立一个名为hello的空文件
cphellogreeting将文件hello复制成另一个文件greeting。
思考:
如果事先已经存在文件greeting,会有什么影响?
实验cp命令的几个常用选项:
-r,-i,-b
5.mv命令
mv命令主要用于移动文件的位置,同时也可以给文件改名。
6.ln命令
lnhellohi新建一个链接(硬链接)指向hello文件
ln-shellosymhi新建一个符号链接(软链接)指向hello文件
注意用ls-i命令观察hello,hi,symhi三个文件的i-node号的异同。
7.rm命令
rm用于删除文件。
加上特殊的选项也可以删除目录。
警告:
不要以root用户身份操作。
8.chmod命令
用chmod命令修改某个文件或子目录的访问属性。
用ls-l命令观察修改结果。
9.索引结点
理解索引节点的意义。
用ls-il观察文件和子目录的索引节点号(i-node)。
实验四shell编程
实验项目:
shell编程实验
实验目的:
加深对shell基本知识的理解。
掌握shell变量、元字符等关于shell的概念。
掌握shell编程的初步技能。
实验内容:
通过实验echo命令的不同类型的参数,理解shell的文件名替换、shell变量、转义和引用。
Unix的作业控制。
设计简单的shell脚本。
实验用时:
2学时
1.设置、观察和应用shell变量
2.shell环境变量
3.shell元字符的使用
4.转义和引用
5.Unix作业控制
6.shell脚本设计
有别于前面三次实验,本实验要求针对以上内容,设计试验步骤和方法。
独立完成实验,并写出实验报告。
或许你设计一个脚本有些困难,这里给出一点提示:
可以从最简单的脚本开始。
比如,你设计一个脚本,查看当前目录下,是否存在一个名为somefile的文件,如果存在,将它删掉;如果不存在,就新建一个名为somefile的文件。
这个脚本在第一次运行时,会在当前目录下新建一个文件,再次运行,那个文件就被删除了。
这样的脚本也许没有很多意义,但是从这里出发,你可以逐渐完善它。
编写:
王少东
审定:
王丽敏
编写日期:
2007年5月30日
修订日期:
2011年10月28日