UnixAIX培训教材.docx
《UnixAIX培训教材.docx》由会员分享,可在线阅读,更多相关《UnixAIX培训教材.docx(21页珍藏版)》请在冰豆网上搜索。
UnixAIX培训教材
第一章AIX操作系统简介
1.1AIX操作系统的主要特点
1.1.1遵循众多工业标准
AIX遵循的标准包括正式由标准组织发布的标准以及公认的标准。
AIX是第一个遵循OSF/AES标准的操作系统。
除此之外,AIX还特别遵循POSIX、SYSTEMV以及BSD标准。
1.1.2先进的系统设计
AIX操作系统的优越性主要体现在以下几点:
(1).其核心是可分页的,它可将暂不需要的内核程序置换出内存,改变内核必须常驻内存的方式,从而提高了内存可用空间和系统性能。
(2).预占实时处理及先占机制使高优先级进程能立即从低优先级进程获取所需资源,这对联机事务处理任务非常重要。
(3).虚拟内存管理机构提供了非常大的地址空间支持,虚拟内存管理器(VirtualMemoryManagement,VMM)用于管理实际内存页帧的分配和解决进程查询那些当前不在实际内存中的虚拟内存页的问题。
(4).对线程的支持。
线程是AIX版本4所设计的新模型,AIX进程被分成为两个独立的成分,强化了任务(tasks)和线程(threads)两个概念。
线程是被看作一个基本调度实体的活动执行环境,一个任务有多个线程,它们并发运行。
它的好处就是任务中的所有线程共享任务的资源。
(5).基于流方式的I/O。
AIX的I/O子系统支持类似映象文件,预分页、数据定速和异步I/O等功能,它实现所谓内存映射I/O和I/O定速的技术。
内存映射直接映射内存中的文件,这样就越过传统的I/O块和内核,缓解由于文件放置和可能的磁盘碎块影响而导致的I/O后果。
I/O定速技术阻止了密集型I/O程序构造较长的I/O队列,确保了高需求程序和低需求程序对于I/O资源的公平共享。
(6).支持对称式多处理器(SymmetricMuti-Process,SMP)。
通过在多处理器间分配线程来实现多线程,使任务能够并发执行。
(7).日志文件环境。
日志文件系统(JFS)记录文件系统的变动,它允许在系统损坏时,重建并恢复其文件系统。
日志文件系统还可根据业务需要进行扩充。
(8).核心可动态扩展。
这是AIX独有的特点,核心扩展模块可以不通过预占作任何正在进行的活动而加入到某个可操作环境,新的设备驱动器系统调用、核心服务以及私人核心例程等特性可加到已有的核心来扩展其功能。
能自已定制核心程序的直接好处就是可以实现新的计财服务。
如果正确使用扩展核心和修改核心,将是十分有用的,但使用不当会带来不利后果。
(9).总体吞吐量均衡。
AIX内核通过优先调度及强行处理的功能提供任务的实时预测性。
当系统需要时,内存负载控制算法能够测得并推迟新进程得执行直到当前进程顺利结束。
此外,AIX还提供了许多系统功能以克服阻碍系统吞吐量提高的因素,如:
通过减少LAN设备驱动器以提高系统和网络的性能、改进C编译器的连接时间、提供NFS及TCP/IP网络功能等。
由AIX的体系结构及功能特性可以提出一个事实,那就是AIX核心基本上和传统的UNIX系统一样,而且它的I/O系统的许多成分-象虚拟内存管理器和文件系统-已经有相当的扩展,提供了一个超越了以前UNIX销售商所期望的一个优越的环境。
1.1.3强大的通讯能力
AIX支持多种网络通讯协议,如SNA、TCP/IP、X.25、DECNET、ISDN、ATM、ARTIC、NETWARE、LANSERVERFORUNIX等。
1.1.4终端支持
同步终端:
支持IBMES/9000的主机终端或仿真,接受3274/3174终端,支持与AS/400的连接。
异步终端:
支持ASCII字符终端或图形终端。
1.2
AIX系统架构
应用程序及环境
SHELL
内核
硬件
1.3命令语言解释器(ksh)
Shell提供人机交互式的接口。
AIX为最终用户提供的三种主要的Shell,分别是BourneShell(sh),CShell(Csh)和KornShell(Ksh)。
IBM默认的Shell是Ksh,它由于对BourneShell向下兼容、与csh的最佳特性相一致而独具吸引力。
1.4AIX文本编辑器
AIX提供的编辑器有:
ed、ex、vi和sed。
最新的AIX标准编辑器是sed,是一个非交互式的面向流的编辑器。
除ed外的其他文件编辑器均包含在AIX扩展系统中。
目前用户经常使用vi编辑器。
在以后的章节中将详细介绍其具体使用方法。
1.5联机帮助
在AIX系统中可以通过man命令获得联机帮助功能:
man(manual):
在指定命令行键入man命令后,紧跟需要求助的命令名,如命令行提示符$后键入manCOMMAND可查询COMMAND命令的使用方法。
第二章AIX操作系统基本命令
2.1系统的进入和退出
login:
输入用户名(例如:
user01)
password:
输入用户口令
若用户名及口令均正确,则用户将登陆成功。
此时系统会出现命令提示符$或#,即表示可接收用户输入的操作系统命令。
退出系统:
或exit或logout。
2.2password
password命令用于建立或修改用户的密码。
如:
#password
passwd:
—输入旧口令
newpasswd:
—输入新口令
re-enternewpaswd:
—重新输入新口令
2.3mkdir、rm、mv和cd
mkdir:
用于创建目录
rm:
用于删除文件或目录(rm–r)
mv:
用于改变文件或目录名
cd:
用于进入系统某一级目录中去
2.4ls
Ø功能:
显示目录中的内容,列出当前目录中所有文件的文件名
Ø参数说明:
a:
列出目录中所有文件
d:
列出所有子目录
l:
列出长格式文件信息
Ø举例:
ls–a:
列出当前目录中的所有文件
ls–l:
显示文件的详细信息
2.5date
Ø功能:
显示当前日期和时间,超级用户可以进行修改
Ø举例:
$date
显示:
TueFeb809:
23:
58BJST2000
2.6cal
Ø功能:
显示日历
✧举例:
$cal99查看99年日历
$cal1199查看99年11月的日历
2.7cat
Ø功能:
连接或显示文件
Ø举例:
catmyfile:
显示myfile文件中的数据
cat>myfile:
从标准输入(键盘)建立文件myfile
2.8wc
Ø功能:
计算文件中的行数、字数和字符数
Ø参数说明:
c:
计算字符数
l:
计算行数
w:
计算字数
Ø举例:
#wcprofile
1353381profile
|||
行数字数字符数
2.9clear、echo和banner
clear:
用于清屏
echo:
用于在屏幕上显示信息
banner:
用‘#‘组成字符串在屏幕上显示信息
2.10who
Ø功能:
列出当前系统注册的用户
Ø举例:
$whoami--列出当前系统使用者身份
2.11finger
Ø显示当前登陆到系统中的用户的信息
Ø举例:
$fingerteam02
Loginname:
team02
Directory:
/home/team02Shell:
/usr/bin/ksh
OnsinceMar0416:
17:
10ontty3
NoPlan
2.12mail
Ø功能:
发送和接受信件
Ø举例:
SENDINGMAIL
$mailuser01
subject:
meeting
therewillbeabriefannouncement
meetingtodayinroom602atnoon
cc:
RECEIVINGMAIL
$mail
mailtype?
forhelp
“/user/spool/mail/user01”:
message1new
>n1user02wedjan403:
501989
date:
wed4jan8903:
50:
10
from:
user02
cc:
therewillbeabriefannouncementmeetingtoday
inroom602atnoon
&
接收信件时在mail提示符&后面可使用的命令:
d:
删除信息
s:
把消息添加至文件中
m:
向后查看消息
q:
退出信件接收并把消息留在队列中
?
:
显示信件选项
^#:
到显示的顶部
t:
到所收消息的顶部
2.13ps
Ø功能:
显示后台进程的有关信息。
单独使用ps将显示由当前终端启动的后台进程的PID、终端号、进程已执行时间以及启动该进程的命令
Ø语法:
ps-options
Ø参数说明:
-e:
显示系统内当前运行的所有后台进程
-f:
除ps所提供的信息外,还显示用户名、PPID(父进程ID)及启动时间
-l:
除ps所提供的信息外,还显示UserID,PPID和进程优先级
2.14kill
Ø功能:
杀死后台进程
Ø语法:
kill-numPID
Ø举例:
kill–923094(-9是软件终止进程的信号,是不可忽略的)
2.15find
Ø功能:
在一个或多个目录中查找符合指定条件的文件,显示文件名或对这些文件进行特定的操作
Ø语法:
findpathexpression
Ø参数说明:
-type
f
文件
d
-size
+n
文件大小超过nblocks(1block=512bytes)
-n
文件大小小于nblocks
n
文件大小等于nblocks
-mtime
+x
X天以前被修改的文件
-x
X天以内被修改的文件
-perm
onum
访问指定权限的文件(权限以8进制表示)
mode
访问指定权限的文件(权限以字母表示,如rwx)
-user
User
属于用户user的文件
-o
逻辑‘或’
Ø举例:
1.find.–name‘m*’–print
在当前目录及其子目录中查找文件名为“m*”的所有文件(‘*’是通配符)并显示文件名。
2.find.–name‘m*’–execls–l{}\;
在当前目录及其子目录中查找文件名为“m*”的所有文件(‘*’是通配符)并显示详细的文件列表信息。
-exec使得find以非交互的方式执行-exec后的命令。
‘{}’用于保留find的查找结果,并将其作为ls–l的输入。
3.find.–name‘m*’–ok rm{}\;
在当前目录及其子目录中查找文件名为“m*”的所有文件(‘*’是通配符)删除之。
-ok使得find以交互的方式执行-ok后的命令。
4.find.-perm644-mtime+4–print
在当前目录及其子目录中查找权限为644、4天以前被修改过的文件。
2.16grep
Ø功能:
在文件或标准输入中搜索与指定格式相匹配的行
Ø语法:
grep[options]pattern[file1file2..]
Ø参数说明:
-v:
显示与指定格式不匹配的行
-c:
统计满足条件的行数
-l:
只显示满足匹配条件的文件名
-n:
显示满足条件的行所在的行号
-I:
查找时忽略大小写
-w:
做全单词匹配
Ø举例:
1.grepmail.profile
搜索.profile文件中与mail匹配的行并显示。
2.grep–vmail.profile
显示与mail不匹配的行。
3.grep“^a[0-9]z$”filename
在filename中查找以’a’开头、以’z’结尾、中间包含数字’0’-‘9’的串。
2.17cut
Ø功能:
从(文件)行中截取相应的列,并将结果写到标准输出。
Ø语法:
cut-fnumber(s)-d(character)file
cut-cnumber(s)file
Ø参数说明:
-c:
以字符为单位进行截取
-f:
以域为单位进行截取
-d:
在使用-f参数时,默认的域分隔符是空格,用户可以通过-d参数指定域分隔符
Ø举例:
1.$ps
PIDTTYTIMECMD
98tty00:
00ps
100tty00:
00/bin/ksh
108tty00:
00/home/team01/myscript
$ps|cut-c8-13
TTy
tty0
tty0
tty0
2.$ps|cut-c1-4,20-40|grep".*myscript"
108/home/team01/myscript
3.$text="AwonderfuldishtosetbeforetheKing!
"
$echo$text|cut-c-12,36-
AwonderfulKing!
Note:
-12:
从开始到第12个字符处;
36-:
从第36个字符处到行尾。
4.$cat/etc/passwd
root:
!
:
0:
0:
TheSuperUser:
/:
/bin/ksh
daemon:
!
:
1:
1:
:
/etc:
bin:
!
:
2:
2:
:
/bin:
$cut-f1,3-d:
/etc/passwd
root:
0
daemon:
1
bin:
2
2.18sort
Ø功能:
将输入行按指定规则排序
Ø语法:
$sort[-tdelimiter][+field[.column]][options]
Ø参数说明:
-d按字典顺序排序,排序过程中只考虑字母、数字及空格
-r以相反方向排序
-n按数字顺序排序
Ø举例:
1.$catanimals
dog.1
cat.2
elephant.4
rabbit.3
$sortanimals
cat.2
dog.1
elephant.4
rabbit.3
2.$catanimals|sort+0.1
rabbit.3
cat.2
elephant.4
dog.1
3.$catanimals|sort–t.-n+1
dog.1
cat.2
rabbit.3
elephant.4
2.19head和tail
Ø功能:
显示文件头或尾的内容
Ø语法:
head[-number_of_lines]file(s)
tail[-number_of_lines|+number_of_lines]file(s)
Ø参数说明:
head命令中,-number_of_lines表示显示文件的头number_of_lines行信息;
tail命令中,-number_of_lines表示显示文件的倒数number_of_lines行信息;
+number_of_lines表示显示从number_of_lines行直到文件尾的信息。
Ø举例:
$head-5myfile
$ls|head-12
$tail-200file
$tail+200file
第三章vi编辑器
3.1vi简介
vi是UNIX世界里使用非常普遍的全屏幕文本编辑器,几乎任何一种UNIX系统都会提供这套软件。
AIX当然也支持这种编辑器。
熟悉DOS下的文本处理后,用户在开始接触vi时也许会感到它并不好用,然而一旦用户熟悉、掌握了vi,就会发现它实在是一种功能强大、使用灵活方便的编辑器。
UNIX提供一系列的ex编辑器,包括ex,edit和vi。
相对于全屏幕编辑器,现在可能很难想像如何使用ex,edit这种行列编辑器。
vi的原意是“Visual”,它是一个立即反应的编辑程式,也就是说可以立刻看到操作结果。
vi必须控制整个终端屏幕的显示输出,而终端的种类有许多种,特性又不尽相同,所以vi有必要知道现在所使用的是哪一种终端。
这是通过TERM这个环境变量来设定的。
在命令行键入vi就可以进入vi的编辑环境。
vi有三种模式:
命令模式、文本输入模式以及命令项模式。
执行vi以后,会先进入命令模式,此时用户可输入各种子命令对行进行编辑,如删除行、拷贝行等。
在文本输入模式下,用户可以修改一行的内容并添加新行。
在命令模式下键入i、I、a、A或o等即可进入文本输入模式,键入ESC键即可返回命令模式。
在命令项模式下,用户可以通过子命令输入更多的参数,如“/”子命令要求输入下一个查找项。
用户使用ESC键返回命令模式。
3.2vi的进入与离开
vi可以在全屏幕方式下编辑一个或多个文件。
如果在执行vi时没有指定文件名,则vi命令会自动产生一个无名的空文件。
如果指定的文件不存在,则vi将按指定的文件名创建一个新的文件。
进入vi后屏幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。
要离开vi可以在命令模式下键入:
q,:
wq命令则是存档后再离开(注意冒号)。
注意vi并不锁住所编辑的文件,因此多个用户可能同时编辑一个文件,那么最后保存的文件版本将被保留。
以下是vi命令使用的一些选项及说明:
-ccommand:
在对文件进行编辑前,先执行command命令;
-rfilename:
恢复文件filename;
-R:
以只读方式编辑文件;
-ynumber:
每屏只编辑number行文本。
3.3vi的文本输入模式
使用以下几种命令可以进入文本输入模式(用户在任何时候都可以按ESC键返回命令模式):
新增(append):
a:
从光标所在位置之后开始输入文本
A:
从光标所在行尾开始输入文本
插入(insert):
i:
从光标所在位置之前开始输入文本
I:
从光标所在行的第一个非空白字符前面开始输入文本
开始(open):
o:
在光标所在行后插入一新行。
O:
在光标所在行前插入一新行。
3.4vi基本编辑命令
在vi里,输入跟编辑是两码事。
编辑是在命令模式下操作的,先利用命令移动光标来定位要进行编辑的地方,然后才下命令做编辑。
命令
说明
备注
cc或S
修改一整行的文本
C
改变一行中光标所在位置之后的部分
dd
删除光标所在的列
D
删除一行中光标所在位置之后的部分
dw
删除光标所在的单词
J
将下一行文本内容合并到本行行尾
r
修改光标所在字符,r后接要修正的字符
R
修改本行内容
s
修改光标所在字符
u
恢复上一次所做的修改
x
删除光标所在字符
X
删除光标左侧字符
~
改变光标所在字符的大小写
.
重复上一次的操作
<<
将当前行移到左边
>>
将当前行移到右边
p
将缓冲区的内容拷贝到光标所在行的下一行
P
将缓冲区的内容拷贝到光标所在行的上一行
“ad
将文本删除至缓冲区a
“ap
粘贴缓冲区a中的内容
yy或Y
将当前行存入缓冲区
yw
将光标所在的单词存入缓冲区
0
移动到光标所在列的最前面
=[Home]
$
移动到光标所在列的最后面
=[End]
[CTRL+d]
向下半页
=[PageDown]
[CTRL+f]
向下一页
[CTRL+u]
向上半页
[CTRL+b]
向上一页
=[PageUp]
[CTRL+e]
下滚一行
[CTRL+y]
上滚一行
H
移动到屏幕的第一行
M
移动到屏幕的中间
L
移动到屏幕的最后一行
b
移动到上个小字的第一个字母
B
移动到上个大字的第一个字母
w
移动到下个小字的第一个字母
W
移动到下个大字的第一个字母
e
移动到下个小字的最后一个字母
E
移动到下个大字的最后一个字母
^
移动到光标所在列的第一个非空白字符
n-
减号移动到上一行的第一个非空白字符,前面加上数字可以指定移动到以上n行
n+
加号移动到下一行的第一个非空白字符,前面加上数字可以指定移动到以下n行
nG
直接用数字n加上G移动到第n行
fx
往右移动到x字符上
Fx
往左移动到x字符上
tx
往右移动到x字符前
Tx
往左移动到x字符前
;
配合f&t使用,重复一次
配合f&t使用,反方向重复一次
/string
往右移动到有string的地方
?
string
往左移动到有string的地方
n
配合/&?
使用,重复一次
N
配合/&?
使用,反方向重复一次
%
移到匹配的”()”或”{}”上
n(
左括号移动到句子的最前面,前面加上数字可以指定往前移动n个句子
句子是以!
.?
三种符号来界定
n)
右括号移动到下个句子的最前面,前面加上数字可以指定往后移动n个句子
段落是以段落间的空白列界定
n{
左括弧移动到段落的最前面,前面加上数字可以指定往前移动n个段落
n}
右括弧移动到下个段落的最前面,前面加上数字可以指定往后移动n个段落
这些编辑命令非常有弹性,基本上可以说是由命令与范围所构成。
例如dw是由删除指令d与范围w所组成,代表删除一个字d(elete)w(ord)。
命令列表如下:
d删除(delete)
y复制(yank)
p放置(put)
c修改(change)
范围可以是下列几个:
e光标所在位置到该字的最后一个字母
w光标所在位置到下个字的第一个字母
b光标所在位置到上个字的第一个字母
$光标所在位置到该行的最后一个字母
0光标所在位置到该行的第一个字母
)光标所在位置到下个句子的第一个字母
(光标所在位置到该句子的第一个字母
}光标所在位置到该段落的最后一个字母
{光标所在位置到该段落的第一个字母
3.5文件处理子命令
:
q结束编辑(quit)
如果不想存档而要放弃编辑过的档案则用:
q!
强制离开。
:
w存档(write)
其后可加所要存档的档名。
可以将档案命令合在一起,例如:
wq即存档后离开。
zz功能与:
wq相同。
:
n开始编辑vi激活的文件列表中的下一个文件。
:
nfilename指定被编辑的新的文件。
:
efilename在vi中编辑另一个文件filename。
:
e#开始编辑另一