17莫贤彬02实验2文档格式.docx
- 文档编号:6839215
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:22
- 大小:866.66KB
17莫贤彬02实验2文档格式.docx
《17莫贤彬02实验2文档格式.docx》由会员分享,可在线阅读,更多相关《17莫贤彬02实验2文档格式.docx(22页珍藏版)》请在冰点文库上搜索。
2、实验内容
2.1回顾:
UNIX系统的基本结构
尽管我们在《操作系统原理》中已经了解过UNIX系统,但在这里仍有必要对UNIX系统的基本结构作简单的回顾,目的是要更好地理解AIX操作系统基本工作原理。
UNIX系统包括两级:
用户级和核心级。
用户程序通过系统调用界面获得内核的服务。
核心级中包括进程控制子系统、文件子系统,设备系统等,底层是操作系统对硬件层的控制。
如果要对UNIX系统结构做一个最简单的划分,就是内核(kernel)和“外壳”(shell)了。
系统管理的大部分工作,都需要通过字符终端在shell下完成。
Shell就是用户使用操作系统各种功能的基本界面。
课程实验的许多内容,都是在shell中展开的。
Linux系统初始化时就会自动启动shell。
用户是通过一个所谓的字符终端去从用户登录到用户退出登录,用户输入的每个命令都要由shell接收,并由shell去解释输入的命令。
如果用户输入的命令正确,shell会去调用相应的命令或程序,并由内核负责其执行,从而实现用户所要求的功能。
UNIX的Shell有许多种,有BourneShell,CShell,Bourne-AgainShell(简称Bash,最流行的shell),kornShell(简称kshell)。
Linux默认使用Bash,但也有使用kshell等其他shell的。
要知道现在所在系统的shell类型,可利用字符终端登录系统后用命令查看当前系统使用的shell类型:
$echo$SHELL
/bin/bash
2.2字符终端的概念(补充教材4.1节)
一谈到字符终端,许多人就会贴上“落后”的标签,毕竟图形界面已经广泛使用,有许多用户已不能接受输入命令的方式。
事实上,随着现今Linux桌面的不断发展,应用程序的逐渐丰富,因此字符终端在许多场合中并不是必须的。
不过,从上述UNIX结构中,你会发现shell在UNIX中的作用远非一个用户操作的界面那么简单。
总的来说,SHELL是一个解释器,对命令进行解释并交由内核执行,命令的输入和处理就需要依靠字符终端来实现。
要注意到是,在本地Linux系统使用的字符终端与远程连接Linux系统所使用的字符终端软件本质上是一样的。
利用字符终端,用户通过一定的协议实现远程登录并使用机器,主要有telnet协议和SSH协议。
由于Telnet的不安全性,Linux下多用SSH协议。
SSH为SecureShell的缩写,是专为远程登录会话和其他网络服务提供安全性的协议。
使用ssh协议的远程访问工具有很多,如SecureShellClient、PuTTY等,可自行上述下载。
此外需要补充的是,在字符终端上用户能利用SHELL语言编写具有强大系统管理功能的脚本,这些功能是图形界面所不具备的。
作为一个复杂的应用程序,图形界面出错的可能性比字符终端要高得多,字符终端的稳定性对于服务器应用的场合来说还是很有必要的。
2.3命令的基本格式(补充教材4.1.3节)
当你通过字符终端登录后,便进入命令提示符,命令提示符有许多表达形式,可以附带用户名和主机名称等信息,但也可以很简洁。
下图是一个典型的命令提示
UNIX中一个基本命令包含三个要素:
命令名、选项、参数。
本质上命令名是指用户要运行的程序的名称。
用户通过设定选项指出命令要执行的特定功能,参数是命令执行时需要的输入值。
选项和参数不是一定要填写的。
命令名、选项、参数都区分大小写,它们通过空格或制表符(TAB键)隔开。
初学者经常容易犯的一个错误是把选项和参数混淆,一般来说,选项带有符号“-”,如“-a”,而参数没有,但也有特例,在学习具体例子时会指出。
此外,选项和参数都是可以多个的。
如果需要多个选项,可把选项连续表示,如“-abc”,也可以单独表示,如“-a-b-c”,但选项间需要用空格区分开来。
多个参数也是需要用空格隔开。
为什么要用空格把命令名、参数、选项隔开?
因为shell作为解释器,以空格或制表符作为间隔标志来读取命令,如果没有空格隔开,从语法上shell就会认为是一个独立的整体而对其进行解释。
下面是一些命令的例子,大家指出哪部分是命令名,选项和参数:
#wc-cl/etc/inittab
#find.-name"
unix"
#kill-923094
2.4一些常用的基本命令(补充4.2节)
下面介绍一些常用的基本命令(除4.2节所介绍的基本命令外,考虑到后面使用系统的需要,一些重要的基本命令也提前讨论),这些命令是一些日常系统管理时经常用到的工具,掌握这些命令以及下面所提及的选项是系统管理所必需的(课程要求能熟练使用)。
注意由于不同发行版本的Linux安装的shell命令有所不同,所以下面部分shell命令未必在你所使用的Linux中已安装,如遇此情况请尝试安装该命令。
教材以及许多参考书都有关于Linux命令的详细介绍,使用Linux中的man命令也能够得到某条命令的手册。
此处再给出一个链接供查阅和学习Linux常用命令:
(1)who命令
功能:
列出当前系统注册的用户,另外有whoami命令
选项:
无
参数:
例子:
注意看系统有多少人在线,并思考以下问题,如何自动统计在线人数?
#who
#whoami
(2)ls命令
显示目录内容
格式:
ls[选项][文件或目录]
-a:
列出目录中所有项,包括以“.”开始的项(以点开头的为隐藏文件)
-l:
以列表形式显示文件
-R:
递归列出所有
注意对比三个命令的结果差异
#ls-a/etc
#ls-al/etc
#ls-R/ect
(3)pwd
显示当前目录
#pwd
(4)cd命令
更改当前目录
cd[选项][文件或目录]
注意三个cd命令的区别和结果
#cd/proc
#ls
#cd~
#ls
#cd..
(5)touch命令
更新一个文件的访问和修改时间,如果没有对应文件则新建该文件
touch文件名
注意前一次使用stat命令和后一次使用stat命令的返回结果的差异
#touchtt
#stattt
(6)stat命令和file命令
获得关于某文件的基本信息
stat文件/file命令
stat命令和file命令在功能上的差异
#touchtest
#stattest
#filetest
(7)mv命令
移动或重命名文件或目录
mv[选项]源文件或目录目的文件或目录
-b:
若存在同名文件,覆盖前先备份(backup)原来的文件
-f:
强制(force)覆盖同名文件
留意最后目录中是否多了一个备份文件(文件末尾有“~”符号)
#touchttt
#mv–bttttt
(8)cp命令
复制文件或目录
cp[选项]源文件或源目录目的文件或目的目录
-r:
-r选项是以递归方式复制文件
#cpaacopy
(9)rm命令
删除文件或目录
rm[选项]文件或目录
强制(force)删除文件
rm命令默认只删除文件,-r选项是以递归方式删除目录
#touchabc
#rmab
#rm–fb
(10)mkdir命令和rmdir命令
增加文件夹和删除文件夹
mkdir[选项]目录/rmdir
注意要删除的文件夹要求是空的,如果里面有文件,则使用“rm–r文件夹”
#mkdirtestdir
#cdtestdir
#rmdirtestdir
#rm-rtestdir
(11)cat
连接或显示文件
ls[选项][文件]
-n:
显示行号
#cat/etc/environment
(12)more命令
分屏显示文本文件的内容。
首先显示一屏后若还有内容,按回车键再显示下一行,按空格键显示另一屏。
more文件
#more/etc/environment
(13)tail命令
显示文本文件的结尾部分,默认显示文件的最后10行
tail[选项][行数][文件]
指定显示的行数
#tail-n5/etc/environment
(14)grep命令
从指定文件或标准输出中中查找符合条件的字符串。
grep[选项]字符串文件列表
#grepinit/etc/inittab
(15)wc(WordCount)命令
依次显示文本文件的行数、字数和字符数
wc[选项]文件列表
-c(character):
显示文件的字节数
-l(line):
显示文件的行数
-w(word):
显示文件的单词数
#wc/etc/inittab
#wc-l/etc/profile/etc/environment
(16)date命令
查看或修改系统时间
date
#date
(17)clear命令
清除当前终端的屏幕内容
clear
#clear
(18)man(manual)命令
显示对应命令的帮助手册
man命令名
查询一个命令有哪些选项可以简单的采用--help选项,但最完整的信息在该命令的manual中。
#mancat
#cat--help
(19)history命令
查看shell命令的历史记录,如果不使用数字参数,则将查看所有shell命令的历史记录。
如果使用数字参数,则将查看最近执行过指定个数的shell命令。
#history
#history5
2.3vi工具的使用(补充教材4.4节)
在系统管理工作中,经常需要阅读各类配置文件、日志和说明手册,同时也需要编写各种脚本以满足系统管理的需要。
vi编辑器相当于Windows中的“记事本”,但由于是在字符终端下使用编辑器,因此其使用方法与图形界面上的编辑器的使用方法有所不同(最大的不同是鼠标没用了)。
vi编辑器是系统管理员必须熟练掌握的基本工具之一。
UNIX下还有许多编辑器供人们使用,如vim(vi的变种)、Emacs等。
感兴趣的同学可以查阅相关资料。
vi编辑器有三种工作模式:
命令模式、文本编辑模式、最后行模式。
下面分别对该三种模式进行讨论。
(1)命令模式
vi编辑器启动后即进入命令模式,vi的命令往往只有一个字母,而且按下该命令的字母后也不会在屏幕上显示,而是直接处理该命令。
常用的命令有:
i:
从当前的光标位置开始输入字符,vi编辑器进入文本编辑模式
a:
从当前的光标的下一个位置开始输入字符,vi编辑器进入文本编辑模式
o:
在光标所在行之下新增一行
u:
撤销上一步操作
/字符串:
按下“/”键后,屏幕底部出现“/”,在其后输入要查找的字符串,按Enter后,vi讲从光标当前位置开始向文件尾查找,并定位在第一个匹配的单词的地方。
n:
跳到下一个满足查找条件的单词的地方。
(2)文本编辑模式
利用命令模式中的命令进入文本编辑模式后,便可在vi编辑器中进行文字处理。
如果按ESC键则重新回到命令模式。
(3)最后行模式
最后行模式是通过命令模式中的“:
”命令进入的,此时vi会在屏幕底部显示“:
”作为该模式的提示符,用户可在提示符后输入相关命令,主要的命令有:
w文件保存为指定的文件
wq保存并退出vi
q退出vi,如果有文件需要保存则作相应提示
q!
不保存文件而退出vi
作业:
1.对2.4节的每个命令,请同学们根据命令所提供的例子执行命令,并将执行结果的截图附于每个命令的例子之后。
2.请上机完成如下题目,并将上机结果截图附于题目之后,注意不同发行版本的Linux所使用的shell命令集以及配置文件会有所不同,如果题目中所谈及的文件在系统中不存在则可用其他文件替代。
注意题目可能需要一组命令来完成要求。
a)修改当前系统时间为2014年1月1日。
b)分屏显示/etc/inittab文件。
c)查看/etc/inittab文件的最后10行。
d)查看/etc/inittab文件的基本文件信息。
e)以自己的名字在/home目录下新建一个文件夹,把/etc/inittab复制到该文件夹。
然后对整个文件夹进行删除。
f)在/root目录下新建文件夹testdir,并在该文件夹中新建文件test。
然后将test文件夹连同其中的所有文件拷贝到/home下。
g)查看/root目录下的所有文件,指出哪些属于隐藏文件。
h)以列表及递归方式查看/dev目录下的文件。
i)统计文件/etc/environment的行数和单词数。
j)查看ls命令的操作手册。
k)查看当前系统操作历史的前10条命令。
l)新建一个文本,新增一行后输入“hellovi”,保存为vitest后退出。
m)使用vi编辑器打开文件/etc/inittab,并遍历所有包含单词“init”的地方。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 17 莫贤彬 02 实验