一、 Aix简介
Aix是Unix操作系统的版本之一,主要应用在IBM RISC 6000系列小型机上。其他的Unix ,如SUN的Solaris ,HP Unix以及Linux等等。目前Aix系统的版本有Aix 4.x Aix5.x等。它们之间只是版本不同,但内核都是一样的,操作命令机本上也相同。版本高的会新增一些命令,都是向下兼容的。
二、 Aix使用入门
对于大多数用户来说,对于Aix的访问都是通过telnet的方法来登录到RS6000上,当然是以不同的身份了。把本地机器作为RS6000的一个终端,来完成对R S6000的操作。这实际上是Unix的一大特点,Unix本身就是设计成一个多任务、多用户的并发系统。
2.1登录 (login)
2.1.1 RS6000的登录
许多用户可以同时使用Unix系统,为了让系统知道用户是谁以及可以使用什么资源,用户在使用之前必须向系统表明自己的身份。另外,U nix认为用户是通过终端或在PC上运行方针软件与其通讯。Unix系统和用户终端之间必须建立传输信息的连接。通常把建立通讯连接和表明用户身份的过程称为登录( login) .
2.1.1.1 RS6000的开机
直接按Power键。RS6000启动、自检。包括对硬件的自检,系统的初始化。
2.1.1.2登录
默认的情况下,系统会进入Xwindows环境下,也就是所谓的CDE环境(Common Desktop Environment)即公共桌面环境。这样Aix启动后将直接显示CDE注册界面,输入用户名和口令后即进入CDE操作环境。通常在RISC6000端都是以r oot身份(管理员身份)登录的。
2.1.2客户端的登录
客户端主要是通过执行telnet命令,并且输入合法的用户名和密码,登录到服务器端。比如:在客户端执行telnet 192.168.0.161 (假设为RS6000的IP) ,会出现如下的登录提示:
AIX Version 4
(C) Copyrights by IBM and by others 1982, 1996.
login:
然后输入用户名,如:long ,回车后,会出现输入密码的提示:
long's Password:
2.1.3成功登录之后
成功登录之后,系统将显示一些消息,如上一次用户登录的时间、有关系统信息的消息(称为当日消息),以及一些通知用户是否有mail 的消息。其中,当热消息十分重要,它是系统管理员与用户通讯的方法之一,比如系统管理员通过当日消息通知用户下一次系统关闭的时间。如图:
AIX Version 4
(C) Copyrights by IBM and by others 1982, 1996.
login: long
long's Password:
*********************************************************
*
* Welcome to AIX Version 4.3!
*
*
* Please see the README file in /usr/lpp/bos for information pertinent to
* this release of the AIX Operating System.
*
*
*********************************************************
Last unsuccessful login: Fri Dec 28 14:59:34 BEIST 2001 on /dev/pts/0 from 192.3
Last login: Sat Dec 29 10:13:50 BEIST 2001 on /dev/pts/6 from 192.168.0.133
[YOU HAVE NEW MAIL]
$
显示以上消息后,系统将显示一个命令提示符。这表明系统将等待用户的输入,非root用户登录后提示符一般为$ ,root用户登录后,提示符为# .出现不同命令提示符与shell有关,B shell和K shell的提示符使用$ ,Aix中为K shell .
2.1.4用户的权限
如果Unix系统只有用户自己使用的话,除了系统提供的系统管理员帐号以外,用户还要给自己建立一个帐号。因为使用系统管理员的帐号( root)要十分小心,该帐号具有特殊的权限。Unix有内嵌的安全机制,一般的用户没有权限创建新的帐户或进行其他系统管理的操作。roo t用户使用系统管理员帐号,又称为超级用户,具有系统管理员的权限。但root 拥护不小心的错误可能会导致系统故障。因此用户在作一般的工作时,应进入自己的帐号,由于没有权限,故不会给系统带来故障。在多用户环境中,超级用户的工作应更加小心。因为他的错误不但会影响他本人,还会影响他人以及整个系统。
Unix还保证在多用户环境中,不同用户之间不相互干扰,每个用户有自己的工作权限,并且可以选择组内或其他用户对自己工作的访问权限。如果把访问权限制为o wner ,那么自己的数据别人是无法访问的。如果用户参加一个组,共同进行一项任务,那么该用户可以把访问权限定为owner和组内的其他成员。如果用户的数据允许其他任何用户看的话,可以把权限定义为任何人。有关定义权限的部分,我们将在介绍c homd命令时讨论。
2.2 logout
工作结束后,用户需要退出系统,这就防止别人有意无意的通过该用户的帐号访问他的文件或者使用系统。不论在什么shell中,退出系统的方法是使用e xit命令,该命令使shell退出。当用户从login的shell退出时,就会自动退出系统。也可敲入logout命令。$logout ,或按ctrl + d .如果是图形界面的话,退出系统方法请参见在线帮助。
2.3使用基本命令
telnet命令
telnet命令用于使客户端登录到RS6000上的Aix 系统。语法为:
telnet + ip (服务器的ip地址)。例如:登录到ip 地址为192.168.0.161的服务器,在Windows 的命令提示符下敲入telnet 192.168.0.161 ,当然,如果使用其它的telnet软件,只需设好ip ,然后执行登录就可以了。
ls命令
ls命令用于显示指定路径下的文件。具体格式为:
ls + 路径。比如,要显示/home下的文件,用 $ls /home .这种方式只显示文件名,而不包含其他的信息。
$ls -l + 路径 ,除了显示文件名之外,还显示文件的属性、创建时间,以及所属的组 。
$ls -a +路径,显示隐含文件。
man命令
是Aix的帮助命令,可以显示某个命令的详细使用说明。这个命令比较有用处,具体语法为:$man + 命令 ,比如,要查看tar命令的使用方法,可用:
$man tar
cd命令
改变当前的工作目录,类似于Dos方式下的cd命令。具体语法为:
$cd +路径 比如,进入/home/user目录中,用$cd /home/user命令。
cd..是退回到上一级目录。cd是回到上一步所在的目录。
who命令
who命令用于显示当前在线的用户,使用非常简单,直接在shell提示符下输入who就可以了。$who
cp命令
用于拷贝文件,类似于Dos下的copy命令。具体语法为:
cp + 文件名 + 路径 如果要复制目录,需要加参数-r或-R
例如:$cp /home/a.tar /home/demo
$cp -r /home/aaa /home/bbb 其中aaa 、bbb均为目录。
mv命令
用于移动文件或文件夹。具体语法为:
mv + 文件名 + 路径
例如,将 /home/long/a移动到/home/long/b目录中,用下面命令:
$mv /home/long/a /home/long/b
rm命令
用于删除文件或文件夹。具体语法为:rm + 路径 +文件名 。例如,要删除/home/long/manual.tar文件,用下面命令:$rm /home/long/manual.tar
如果要删除目录,用rm -r +路径+目录名 。例如:要删除/home/manual目录,用$rm -r /home/manual
注意:要删除一个文件或文件夹,首先要具有对这个文件夹的写权限。
mkdir命令
用于建目录具体语法为mkdir + 目录名。例如,要在/home/long目录下建立一个名为test的目录,用下面的命令:
$mkdir /home/long/test
rmdir命令
与mkdir的用途相反,用于删除一个目录。(注意,这里指的是空目录,里面没有文件)具体语法为:rmdir + 目录名 例如,将刚才建的目录删掉,就可以用下面的命令:$rmdir /home/long/test
vi命令
vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件。若在vi执行时没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件。若指定的文件不存在,那么就按指定的文件名创建一个新的文件。若对文件的修改不保存的话,v i命令并不改变原来文件的内容。
注意:vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后保存的文件版本将被保留。
下面是vi命令使用的一些选项及含义:
-c sub-command 在对指定的文件编辑前,先执行指定的命令 sub-command .
-r filename 恢复指定的文件filename .
-R 将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修 改。
-y number 将编辑窗口的大小设为number行。
下面是vi编辑所处的三种模式:
.命令模式 进入vi时所处的模式。在此模式下用户可输入各种子命令对进行操作,如删除行、粘贴行、移向下一个字、移向不同行等。
.文本输入模式 在此模式下可以修改一行的内容并增添新行。在命令模式下键入a 、i 或c键可进入文本输入模式,按Escape键可返回命令模式。
.命令项模式 在此模式下,可以通过子命令输入更多的参数。如:w子命令要求输入一文件名,“/”子命令要求输入一个查找项。用户使用Escape键返回命令模式。
下面是自命令模式下执行的,在同一行上移动的自命令:
h 将光标左移一格。
l 将光标右移一格。
j 将光标下移一格。
k 将光标上移一格。
w 将光标移到下一个小字的前面。
W 将光标移到下一个大字的前面。
b 将光标移到前一个小字的前面。
B 将光标移到前一个大字的前面。
e 将光标移到下一个小字的后面。
E 将光标移到前一个大字的后面。
fc 把光标移到同一行的下一个c字符处。
Fc 把光标移到同一行的前一个c字符处。
tc 把光标移到同一行的下一个字符c的前一格。
Tc 把光标移到同一行的前一个字符c的后一格。
number| 把光标移到递number列上。
下面是命令模式下在行间移动的子命令:
+或Enter 把光标移至下一行第一个非空白字符。
- 把光标移至上一行第一个非空白字符。
0 把光标移到当前行的第一个字符处。
$ 把光标移到当前行的最后一个字符处。
H 把光标移到屏幕最顶端一行。
L 把光标移到屏幕最底端一行。
M 把光标移到屏幕中间。
下面是命令模式下改变屏幕显示的子命令:
z- 把当前行作为屏幕的最后一行,并重新显示屏幕。
z. 把当前行作为屏幕的中间一行,并重新显示屏幕。
Ctrl+l 重新显示屏幕当前内容。
/pattern/z- 寻找pattern的下一个位置,并把所在行设为屏幕的最后一行。
下面是在命令模式下用来显示页面的子命令:
Ctrl + f向后滚一页。
Ctrl + d向后滚半页。
Ctrl + b向前滚一页。
Ctrl + u向前滚半页。
Ctrl + e屏幕向下滚一行。
Ctrl + y屏幕项上滚一行。
下面是在命令模式下用来查找字符串所使用的子命令:
/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。
?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始。
n 在上次指定的方向上,再次执行上次定义的查找。
N 在上次指定的方向的相反方向上,再次执行上次定义的查找。
/pattern/+number 将光标停在包含pattern的行后面第number行上。
/pattern/-number 将光标停在包含pattern的行前面第number行上。
% 移到匹配的“()”或“{}”上。
下面是在文本输入模式下用来输入文本的子命令(用户可在任何时候按Escape返回到命令模式):
a 在光标之后开始输入文本。
A在行尾开始输入文本。
i在光标之前开始输入文本。
I在行首第一个非空白字符前输入文本。
o在光标所在行后插入一空行。
O在光标所在行前插入一空行。
下面是在命令模式下改变文本所使用的子命令(用户可在任何的时候按Escape键返回到命令模式):
cc或S 修改一整行。
C 改变一行光标位置以后的部分。
cw 改变光标所在单词。
dd删除当前行。
D 删除光标所在行光标后面的内容。
dw删除光标所在的单词。
J 把下一行内容加到本行行尾。
rc把光符所在字符替换成c .
R 覆盖本行内容。
u恢复上一次的修改。
x删除光标所在的字符。
~ 改变光标所在出字符的大小写。
. 重复上一个操作。
<<把当前行移到左边。
>>把当前行移到右边。
下面是用于文件中拷贝文本的字命令:
p 将缓冲区内容取到光标所在行的下面一行。
P 将缓冲区内容取到光标所在行的上面一行。
“bd 将文本删除至有名缓冲区b .
“bp 张贴有名缓冲区b中内容。
yy把当前行放入缓冲区。
Y 把当前行放入缓冲区。
Yw把光标所在的单词放入缓冲区。
下面是用于保存文件的子命令:
:w 回写修改后的文件。
:w filename 当filename不存在时,把修改后的文件存为文件filename ,当文件filename存在时,报错。
!w filename 如果文件filename存在时,把修改后的文件保存为文件filename .
下面列出了在vi编辑的多个文件之间切换所用的子命令:
:n开始编辑vi激活的文件列表中的下一个文件。
:n filenames 指定将被编辑的新的文件列表。
下面列出了用于在当前文件和另外一个文件间切换的子命令:
:e filename 使用filename激活vi (在vi中装入另一个文件filename)。
e!重新装入当前文件,若当前文件有改动,则丢弃以前的改动。
:e+filename 使用filename激活vi ,并从文件尾部开始编辑。
:e+number filename 使用filename激活vi ,并在第number行开始编辑。
:e# 开始编辑另外一个文件。
下面是在本文件中加入其他文件代码所使用的子命令:
:r filename读取filename文件,并将其内容加到当前文件后。
:r ! command执行command文件,并将其输出加到当前文件后。
下面是vi中其他的子命令:
ctrl+g 取得正在编辑文件的有关信息。
:sh启动sh ,从sh中返回可用exit或ctrl+d .
:! Command 执行命令command .
!!重新执行上次的:! Command子命令。
:q退出vi ,若用户对编辑的文件有所修改,系统不会让用户使用q命令退出。
:q!退出vi而不管是否对文件有改动。
ZZ或:wq 保存对文件的修改并退出vi .
用户可在一个特殊的文件.exrc中定义特殊的vi命令。在vi中使用这些命令时,必须在该命令前加上一个冒号( :) 。
cat命令
用于在标准输出上显示文件的内容,但不会更新文件。具体语法是:cat +文件名 。例如,显示/home/long/example.txt文件的内容,可以用下面的命令:
$cat /home/long/example.txt
more命令
功能是在终端屏幕按屏显示文本文件。具体语法为:more + 文件名。例如:要分屏显示文件 /example.C ,可以用下面命令:$more /example.C
shutdown命令
shutdown命令中断操作系统,只有具有root权限的用户才能执行这个命令。在默认的情况下,执行shutdown命令时会收到一个消息,直到收到完整的s hutdown信息时,系统才会完成shutdown操作。当shutdown时间不断接近的时候,在用户端上会受到警告信息,在指定时间到达时,(默认为6 0秒)系统结束所有进程,unmount掉所有文件系统。具体的用法是:
#shutdown 关闭系统
#shutdown -Fr 快速关闭系统并且重新启动
#shutdown -F 快速关闭系统
talk命令
talk命令用于与其他终端用户交谈,具体语法如下:
$talk username1@rs6k 其中user是你想要谈话对象的帐户名称。同时,在对方终端上也要运行$talk username2@rs6k (其中rs6k是服务器的名称)
wall命令
用于向网络中的所有用户发送广播。具体语法为:wall + 内容
如,下面命令: $wall good morning !
在所有的终端上就会显示good morning !
date命令
用于显示或改变时间。如果改变时间,必须以root身份登录。例如,要显示时间可输入:$date
要改变时间输入:#date 0217142592 改变时间为 1992年2月17日14:25
clear命令
消除终端屏幕。具体的语法非常简单,只要执行$clear 就可以了。
whereis命令
用于确定文件的位置。具体的用法:whereis +文件名 。例如,定文件example.txt的位置,用下面的命令:$whereis example.txt
tar命令
tar是unix中的一个常用的命令,也是一个很重要的命令。tar命令将磁盘上的文件拷贝到档案媒体上(比如:软盘到硬盘,也可以是硬盘到软盘),或把档案媒体上记录的数据恢复成磁盘上的文件。遇到错误时,t ar命令不提供任何恢复操作。
tar的命令格式:
#tar -cvf (或xvf)+文件名+设备
c->是本地到其他设备
x->是其他设备到本地
r->是追加(比如拷了一个t.txt ,还要再拷一个r.txt
其中tar一个文件(或文件夹)用cvf参数;
将tar好的文件解开,用xvf参数。
例如:
将 /home/test中的文件tar到/anw中,并tar成exe.tar用下面的命令:
#tar -cvf /anw/exe.tar /home/test
将tar好的文件解开,用下面的命令:
#tar -xvf /anw/exe.tar 会将exe.tar解到压缩时指定的路径下。
tar命令生成文件的扩展名可以任意起,比如:test文件的生成文件可以是test.a 、test.b 、test.tar都行。
compress命令和uncompress 命令
这两个命令用于完成压缩和解压缩。比如,运行$compress test.tar ,是把test.tar文件压缩成test.tar.Z文件。解压缩时用uncompress命令:$uncompress test.tar.Z
注意,如果压缩时输入的是绝对路径,解压缩时就自动解到相应的路径下。
查看磁盘空间命令df
df命令显示系统总共的磁盘空间和可用的磁盘空间。同时还会显示指定设备的文件系统参数、文件系统存在的路径,以及文件系统mount到哪个目录中。具体语法如下:$ df 显示的单位是512k ,$df -k命令显示的磁盘空间的单位是1024k ,也就是1 M .如下所示:
$ df
Filesystem 512-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 327680 239248 27% 2616 4% /
/dev/hd2 11730944 5539296 53% 84989 6% /usr
/dev/hd9var 327680 301088 9% 709 2% /var
/dev/hd3 327680 316448 4% 68 1% /tmp
/dev/hd1 10092544 1426480 86% 9128 1% /home
$ df -k
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 163840 119624 27% 2616 4% /
/dev/hd2 5865472 2769648 53% 84989 6% /usr
/dev/hd9var 163840 150544 9% 709 2% /var
/dev/hd3 163840 158224 4% 68 1% /tmp
/dev/hd1 5046272 713236 86% 9128 1% /home
finger命令
用于显示当前登录用户信息。这个命令与f命令的功能相同。具体语法如下:
$finger 或$f
last命令
last命令用于显示前面登录的信息。例如,last会显示出最近一段时间内所有用户的登录信息。包括登录时间和进程。如果指定显示某一用户的登录信息,可以用l ast +用户帐号 。比如:$last user 就是显示user的登录信息。
ifconfig命令
用于配置或显示TCP/IP网络接口的参数。可以用下面命令来查看IP地址:
$ifconfig -a 显示RS6000上的IP地址。
ping命令
用来测试网络的物理连接。用户发一个ICMP(Internet Control Message Protocal)来从主机或网关获得一个ICMP回应。如测试与IP地址为192.168.0.161的主机的物理连接,可以用下面的命令:
$ ping 192.168.0.161
PING 192.168.0.161: (192.168.0.161): 56 data bytes
64 bytes from 192.168.0.161: icmp_seq=0 ttl=255 time=0 ms
64 bytes from 192.168.0.161: icmp_seq=1 ttl=255 time=0 ms
64 bytes from 192.168.0.161: icmp_seq=2 ttl=255 time=0 ms
64 bytes from 192.168.0.161: icmp_seq=3 ttl=255 time=0 ms
64 bytes from 192.168.0.161: icmp_seq=4 ttl=255 time=0 ms
64 bytes from 192.168.0.161: icmp_seq=5 ttl=255 time=0 ms
64 bytes from 192.168.0.161: icmp_seq=6 ttl=255 time=0 ms
----192.168.0.161 PING Statistics----
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 0/0/0 ms
这种情况说明收到了从192.168.0.161发回的相应,证明与主机的物理连接正常。
若出现下面的情况,说明没有与192.168.0.161连接。
$ ping 192.168.0.161
PING 192.168.0.161: (192.168.0.161): 56 data bytes
----123.123.1.1 PING Statistics----
53 packets transmitted, 0 packets received, 100% packet loss
su命令
用来改变用户的ID ,连同会话。例如,当前用户为user1 ,在执行$su - user2后,用户ID就变为了user2 ,并且可以以user2 身份来完成操作。在建立用户的时候,可以选择是否允许其他的用户su你的用户。
ps命令
用于显示当前正在运行的进程状态。使用不同的选项,用户可以查询所有正在运行的进程或是具有该用户ID的所有进程。通过ps命令,用户可以了解正在后台运行的进程或是具有该用户I D的所有进程。通过ps命令,用户可以了解正在后台运行的进程和正在运行的批处理进程。当不带参数时,只显示由当前终端创建的正在执行的进程。$ ps -A列出系统中正在运行的进程的详细信息。$ps a列出与终端有关的所有进程。
echo命令
用于将字符串标准输出。比如,输出Hello ,可以用$echo Hello
在变量赋值语句中,如U=Hello ,要输出Hello,用$echo $U,注意前面要加一个$符号,表示输出变量U 所对应的值。
env命令
env命令可用来显示当前的环境或设置一个或多个环境变量。还可以运行指定的命令。而环境的变化只在命令运行期间有效。如$env ,可以查看当前设定的环境变量。如:
$ env
_=/usr/bin/env
LANG=en_US
LOGIN=long
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
IMQCONFIGCL=/etc/IMNSearch/dbcshelp
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/long/bin:/usr/bin/X11:/sbin:.
LC__FASTMSG=true
CGI_DIRECTORY=/var/docsearch/cgi-bin
IMQCONFIGSRV=/etc/IMNSearch
LOGNAME=long
MAIL=/usr/spool/mail/long
LOCPATH=/usr/lib/nls/loc
USER=long
DOCUMENT_SERVER_MACHINE_NAME=localhost
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
U=rs6k
DOCUMENT_SERVER_PORT=49213
HOME=/home/long
TERM=vt100
MAILMSG=[YOU HAVE NEW MAIL]
PWD=/home/long
DOCUMENT_DIRECTORY=/usr/docsearch/html
TZ=BEIST-8BEIDT
A__z=! LOGNAME
passwd命令
用户登录时,系统要求用户输入用户名和口令。尽管用户可以不设口令,但大多数用户都在登录时使用口令。如果用户要修改口令,可以使用p asswd命令。执行passwd命令时,系统首先要求用户输入当前的口令,然后再连续输入两次新口令。当两次输入新口令一致时,新口令才有效。例如:改变l ong的password ,用下面命令:
$ passwd long
Changing password for "long"
long's Old password:
long's New password:
Enter the new password again:
$
chmod命令
为了增强目录或文件的安全性,或将目录和文件放给他人访问,用户常常要修改目录或文件的权限。Unix中,权限使用8进制数字(0到7)来指定文件或目录的权限。对目录或文件的使用对象有三种:
所有者:创建文件的用户
组成员:所有者所在的用户组内其他成员
其他用户: 既不是所有者,又不是组成员的其他用户。
系统使用一位8进制数字指定每一类访问者对象所具有的权限。对于所有者、组成员和其他用户,对文件的权限可分为读权限、写权限和执行权限。每一种权限对应一比特数据。即若读比特为1 表明可读,写比特为1表明可写,执行比特为1表示可执行。
注意,对于目录来说,执行比特的功能叫特殊。用户对目录可执行就是可访问该目录中的内容,否则不可以访问该目录内容。
读、写,执行三比特组合在一起就可表示一个8进制行数字,其中读比特权限为4,写为2,执行为1 。
再次提醒用户注意,目录的执行权限时对目录的访问权限,即对该目录操作的权限。如果对目录有写的权限,那么就可以任意的读、写、删除和执行目录中的所有文件,而不受具体文件权限的限制。
使用chmod命令,可以给文件或目录赋上新的权限值。例如,若设置文件testfile的权限为:所有者可读、写、执行,组成员可读,其他用户可执行。可用命令:$ chmod 741 testfile
当用户想把当前目录中文件testfile的权限设置为所有者和组成员可读、可写时,可执行:$chmod 660 testfile
$ ls -l
total 202
-rw------- 1 long system 287 Dec 28 14:56 mbox
drwxr-xr-x 3 long system 512 Dec 29 15:05 mm
-rw-r--r-- 1 long system 59034 Dec 29 14:32 smit.log
-rw-r--r-- 1 long system 12668 Dec 21 16:19 smit.script
drwxr-xr-x 3 long system 512 Dec 27 16:21 test
-rw-r--r-- 1 long system 10240 Dec 28 12:40 test.tar
-rw-r--r-- 1 long system 16949 Dec 10 13:24 websm.log
注意左边第一列,第一个字符为 - 表示文件;为d表示目录。后面9个字符,每三个为一组(8进制),分别表示用户、用户所在的组,以及其他用户的读、写可执行权限。其中r 表示可读,w表示可写,x表示可执行。
2.4 配置环境变量
为了使用户方便和灵活地使用shell,Unix引入了环境的概念。环境是一些数据,用户可以改变这些数据,增加新的数据或删除一些数据。这些数据称为环境变量。因为它们定义了用户的工作环境,同时又可以被修改。
2.4.1浏览和设置环境变量
每个用户都有自己不同的环境变量,用户可以用env命令(不带参数)浏览环境变量。输出的格式和变量名随着shell的不同和系统配置的不同而不同。例如:
$ env
_=/usr/bin/env
LANG=en_US
LOGIN=long
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
IMQCONFIGCL=/etc/IMNSearch/dbcshelp
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/long/bin:/usr/bin/X11:/sbin:.
LC__FASTMSG=true
CGI_DIRECTORY=/var/docsearch/cgi-bin
IMQCONFIGSRV=/etc/IMNSearch
LOGNAME=long
MAIL=/usr/spool/mail/long
LOCPATH=/usr/lib/nls/loc
USER=long
DOCUMENT_SERVER_MACHINE_NAME=localhost
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
U=rs6k
DOCUMENT_SERVER_PORT=49213
HOME=/home/long
TERM=vt100
MAILMSG=[YOU HAVE NEW MAIL]
PWD=/home/long
DOCUMENT_DIRECTORY=/usr/docsearch/html
TZ=BEIST-8BEIDT
A__z=! LOGNAME
$
有时用户的环境变量很多,如果只想查询其中一个的话,可以用echo命令。前面介绍过,为了表明输入的字符代表环境变量,必须在其前面加上$ .注意$和后面变量名之间不要有空格,例如用echo命令显示环境变量HOME的值:
$ echo $HOME
/home/long
$
用户可以通过给环境变量赋值,产生新的环境变量,可以通过给已存在的环境变量赋值的方法改变其原有的值。
2.5公共桌面环境CDE
CDE全称Common Desktop Environment ,即“公共桌面环境”,是一个图形界面管理程序。使用CDE的前提条件是RS6000连有图形显示器。使用之前,先要安装软件包X.11、Dt. rte和X11.Dt.helpinfo .安装过程中,系统将CDE设置为默认的用户界面,这样Aix启动后将直接显示CDE注册界面,输入用户注册名和口令后即进入CDE操作环境。
2.6 Unix的内核和shell
Unix内核:它是系统的心脏,是运行和管理象磁盘和打印机等硬件设备的核心程序,位于操作系统的最底层。
Shell是系统用户界面,提供了用户与内和进行交互操作的一种接口。Shell有自己的编程语言,用于对命令的编辑。它允许用户编写由sh ell命令组成的程序。目前,shell有以下版本:BASH (Linux) , K shell (Aix) ,C shell
2.7 Unix文件系统的层次结构
Unix以文件系统的方式来管理资源。文件系统分为动态文件系统和静态文件系统。动态文件系统:可执行文件、配置文件
静态文件系统:操作系统
下面是Unix文件系统的基本层次结构:
/usr /lib /sbin 主要用于存贮系统库文件和一些备份文件
/etc 主要是系统配置文件
/dev 设备文件
/var 日志文件
/tmp 临时文件
/opt 应用文件
pkncoin 于 2006-09-29 11:58:20发表:
AIX的命令格式:
$command option(s) argument(s)
command:命令
option(s):命令选项,均以'-'号开始
argument(s):参数
命令 用途
-------------------------------------------------------
prtconf 显示系统的各项主要配置
svmon -G 查看内存(4k)
iostat 2 查看磁盘读写情况(每2秒刷新);
set -o vi 调用缓冲区 k,j,x,h,l 向上下翻,Esc
smit 进入管理界面
cd 改变路径
ls 列出文件
ls -aF 列出隐含文件,并适当分类
ls -l 列出文件的详细信息
ls -ltr
more 输出文件内容到屏幕
cat 显示文本文件内容/合并文件
pg 分页显示文件内容,回车后下一页
file 显示文件属性(可执行/ASCII/等)
clear 清屏
mkdir 创建目录
rmdir 删除目录
cp 拷贝文件
mv 文件/目录改名,转移
rm 删除文件/目录, 如:rm -fr ora*
rmdir 删除目录,如: rmdir oracle
df -k 显示文件系统的信息
du 磁盘使用信息汇总
mount 显示已经挂装的文件系统的信息或挂装文件系统 mount -rv cdrfs /dev/cd0 /cdrom mount /dev/lv02 /u01
umount 卸载某个文件系统 umount /cdrom
fuser -kxuc /dev/cd0 当光驱不能正常释放时
lsattr -E -l sys0 -a realmem 察看内存的命令
env 输出用户环境变量到屏幕
id 察看用户的属性
whoami 察看当前用户名
who 查看已经登录的用户
who -r 查看目前系统的运行级别
users 用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话
如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数
w 显示当前系统中每个用户和它所运行的进程信息
last 此命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户
whereis 命令的绝对路径
passwd 设置用户密码
su 改变/切换用户id
lsuser ALL 列出所有已经创建的用户
lsgroup ALL 列出所有已经创建的组
smitty user 管理用户
mkuser 创建新用户,创建用户的缺省属性值于文件:/usr/lib/security/mkuser.default,只能由root修改
smitty group 管理组
mkgroup 创建新组
chfn 改变用户详细信息
jobs 查看后台任务/进程
fg 把后台进程调到前台
bg 把当前进程调到后台运行
grep 查找匹配字符/字符串
netstat -i 显示网络连接信息及统计信息
netstat -IN
netstat -rn 显示核心路由表
netstat -I 网络设置名 端口号 监视端口情况
netstat -v 正在使用的设备驱动程序的统计信息
netstat -m 网络使用的内存空间情况
netstat -D 显示丢弃包的情况
ifconfig -a 显示网络配置信息
umask 显示文件创建掩码,即新建文件或目录的缺省权限,如#umask 664
date 系统时间
find path expression 查找文件,expression的值有:
-name/-type/-size/-mtime(修改时间)/-perm(权限)/-usr/-o(或)
uname 显示操作系统信息
oslevel 系统版本
man 帮助文件
smitty clstart | clstop 起用|关闭HA
smitty hamcp
smitty chinet 改变网卡的配置信息
smitty cluster 配置cluster
smitty hacmp 配置hacmp
/usr/sbin/cluster/clstat & 显示cluster信息
dbassist 启动oracle数据库配置助手(dbca -9i 可以用配置数据库方式启动一个数据库)
netasst 启动oracle数据库listener配置助手(-9i oemapp是一个包,后跟参数,不同工具)
vi 文件编辑器
动作字符:
a 在当前字符后添加文字; x 删除单个字符;
A 在当前行最后添加文字; dw 删除至当前词尾;
i 在当前字符前添加文字; d$ 删除至当前行尾;
I 在当前行开始处添加文字; d0 删除至当前行首;
o 在当前行后添加新行; dd 删除当前行;
O 在当前行前添加新行; :20,40d 删除20行至40行;
/text 向后查询 ?text 向前查询
r 修改当前字符 R 覆盖字符,直至按下[ESC]
s 删除当前字符,并可添加字符直至按[ESC]
S 删除当前行,并可添加字符直至按[ESC]
yy 将当前行存入缓冲区
dd
p
P
errpt|pg 创建/显示错误文件
errclear 0 清除错误日志文件内容
lsvg -o 显示卷组信息
lsvg -l rootvg
instfix -iv|grep AIX_ML 安装的文件集
smitty tcpip tcp/ip配置
lsdev -Cc disk 系统设备信息(磁盘)
lspv 显示卷组里的物理卷信息
lsdev -Cc pdisk 显示阵列里的磁盘信息
errclear 清除error log
lsps -a 显示交换空间
swapon /dev/paging01 激活交换空间
chps -a paging01 删除交换空间
rmps paging01 删除不活动的交换空间
smit mkps 增加交换空间
smit chps 修改交换空间
varyonvg 激活卷组 如:varyonvg datavg 将datavg激活
varyoffvg 关闭卷组
/ect/services 查看端口
/etc/hosts 机器名IP对照表
/etc/inittab 相当于DOS的AUTOEXEC.BAT文件
/etc/filesystems 记录所有的文件系统设置
增加并配置端口
删除端口
lscfg
lsdev
route ADD 0 10.188.12.1
route add default 192.168.0.1 设置网关(或在/etc/defaultrouter文件中加入网关地址,重起机器就行)
su root 以ROOT用户登录;
smitty lv 增加逻辑盘
LN -s 源目录 目标目录 链接
ls -l 查看权限
./fielname 运行filename文件
smitty clstart 启动HA
smitty clstop 停止HA
.filename 表示filename文件(目录)为隐藏;
cat file1 >> file2 合并file1到file2
SMIT 综合管理工具
# 表示ROOT用户;
$ 表示一般用户;
shutdown -fr 快速重启;
smitty crjfs 创建结点; mount /u05 chown -R oracle.dbs u05 chmod -R 777 u05
加一个文件系统的步骤: 加文件系统/chmod/chown/mount 文件系统名
smitty jfs
smitty lv
smitty lvm 管理逻辑卷
smitty vg 管理卷组
smitty chvg
drwxrwxrwx d表示目录,-表示普通文件,r表示链接; d421421421 777全部权限
-rwxrwxrwx 第2-4:属主用户,5-7:同组用户,8-10所有用户
date 0217142590 This sets the date and time to Sat Feb 17 14:25:00 CST 1990.
当root不能在其终端上登录时 修改/etc/hosts文件,查看其IP地址对应的主机名;
当其他用户不能在其终端上登录时 删除用户,并删除/home下对应的目录,重建;
smitty aio 调整aioservers
#pstat -a|grep aios|wc -l 查看aio的值是否常达到MAX,IF 增加MIN, MAX aio;
当任何用户都不能登录图形界面时 有可能根结点充满,在登录窗口用字符方式登录,加大根结点空间即可;
ps -ef | grep cluster 查找包含"cluster"的进程
more /etc/passwd|grep zhxx 查找静态字符"zhxx"
pe -f 进程查看,如:# ps -f
UID PID PPID C STIME TTY TIME CMD
root 43626 45014 0 20:38:58 pts/1 0:00 -ksh
root 47710 43626 2 21:08:03 pts/1 0:00 ps -f
用户ID 进程ID 父进程ID CPU利用率 开始时间 控制台 运行时间 命令
kill -9 **** ***为进程号,可用ps获得
ping 10.188.12.252 -l 17000 -t 以17000 bytes/包 ping 目标
crontab 创建计划任务(crontab -l 查看已有任务, crontab -e 编辑或增加,删除任务)
0 2 * * * /u05/dmpbak/auto.sh 表示:每天两点执行/u05/dmpbak/auto.sh文件
lsfs 列出所有文件系统
lsvg -l rootvg 列出rootvg的卷
lsvg -p rootvg 列出物理卷信息
lsvg datavg 可查询空闲物理分区数
smit reogvg 重组卷组
smit importvg 导出卷组,卷组必须是不活动的;
lspv hdisk0 显示物理卷
lspv -l hdisk0 逻辑卷映射
lspv -p hdisk0 物理卷映射
defragfs -q /u01 报告文件系统的当前状态
defragfs -r /u01 得到碎片连续化操作后和前后对比情况
defragfs /u01 执行碎片连续化操作
fsck /u05 检查u05文件系统
xclock 时钟,可用于检查环境是否正常
chmod 777 /u02
r 2=3 相当于:chmod 777 /u03
rsh zzyc2_sev 在其他机器上登录某主机
dgmgrl 类似SVRMGRL(9i)
ps -ef |grep oracle |pg 查看oracle用户的所有进程
kill -9 14206 杀14206#进程
kill -l 显示KILL命令可以用的信号量
killall signal 删除除发送外的其他所有进程
/usr/sbin/cluster/clstat & 显示双机热备状态图
exit或logout 退出登录
qprt filename1,filename2... 打印文件
qchk 查看打印队列
qcan 取消打印作业
lsps -a 查询交换空间,如USE超过70%,则要增加
set 查看已定义的变量;
echo $name 查看某个变量的值;
xxx=value 定义变量
unset xxx 删除变量
`` 把``之间的内容作为一个命令,返回命令结果; 如$now=`date` $echo $now
'' 直接显示''间的内容,不予解释;
"" 解释""间的$,``,等字符的特殊含义;
忽略后的特殊字符的特殊含义;
$$ 表示当前进程的ID
$0 当前shell程序的名称
$# 传给当前shell Script的参数个数;
$* 传给当前shell Script的第*个参数,$1-$9,${10}......
$? 最近一个命令的返回值;
$! 最近一个后台进程的ID号;
expr shell下的四则运算:
* 乘; /除; % 求余数; +,- 如:expr (3+3)*(4-2)
command1 && command2 如果第一个命令执行成功,则运行第二个命令;
command1 || command2 如果第一个命令执行失败,则运行第二个命令;
test 表达式 测试条件表达式,主要有:
-f filename 文件是否存在;
-d dirctory 目录是否存在;
-r filename 文件存在,且能被当前进程读;
-w filename 文件存在,且能被当前进程写;
-x filename 文件存在,且能被当前进程运行;
-n string 字符STRING长度非零;
-z string 字符STRING长度零;
string1=string2 两个字符串相同;
integer1 -eq integer2 两个变量相等;(ne:不等 gt:大于 lt:小于 le:小于等于 ge:大于等于)
if ..
then ..
else...
fi
read xxx 从标准输入读入一行,赋给xxx变量; read x echo $x
for i in ....
do
...
done
while expression
do
...
done
ksh scriptname
scriptname
pathname/scriptname shell script的三种执行方法
#command 前台进程
#command & 后台进程
nice/renice 增加/再增加nice的值,从而降低进程优先级;
nohup command & 使用户的后台进程在用户退出时仍然运行
#alias alias=string 赋命令别名
unalias aliasname 取消命令别名
history 显示最后的16条命令
cal 2003/cal 2 2003 日历
finger [oracle] 显示用户信息
mail 接收,发出,查看电子邮件
clear 清屏
echo 显示指定信息
wc filename 统计指定文件的行数,词数,字节数
head filename 显示文件头
tail filename 显示文件尾
tail -f /tmp/hacmp.out 显示HACMP启动情况
[^+C]/[^+d]/[^+s]/[^+q]/[^+u] 终止/结束文件传输/暂停屏幕输出/继续屏幕输出/删除当前输入行
smit(system management interface Tool)
其log文件/script文件保存在各用户目录下;
alog -o -t boot 查看引导日志
chtz 设置新时区
/etc/profile
/etc/environment
$HOME/.profile 系统设置用户环境的主要文件;
lsuser -a id home ALL 列出所有用户
/etc/motd 用户登录时显示的信息,可直接编辑,但如果用户主目录下$HOME/.hushlogin存在,motd不显示;
wall ***** 向各登录用户发出*****消息,用户终端上将马上显示;
/var/adm/sulog su命令执行记录
/var/adm/wtmp,/etc/utmp 用who命令查看登录记录
last root |pg root用户登录记录
last reboot | pg 重启记录;
/etc/passwd 合法用户(不含密码)
/etc/group
/etc/security 普通用户不能访问的安全性文件目录
lsdev -P 列出所有的设备, lsdev -Pc disk
smitty devices 设备管理
lsattr -E -l sys0 列出已配置的设备
jfs/Cdrfs/Nfs AIX支持的三种文件系统
/var/adm/wtmp
/var/spool/*/*
/smit.log
/etc/securibty/failedlogin
/var/adm/sulog 这些文件增长很快,要定期清理,可用cat /dev/null > filename方式清理
du /u05 | sort -r -n 查询文件或目录所占用的磁盘块数
vmstat 显示虚拟内存,内存及CPU活动信息;
arp -a 查看解析协议ARP表
hostname 显示机器名
/etc/rc.tcpip 系统启动时自动执行,进而执行以下子进程:
-syslogd :错误信息日志
-portmap :端口查找
-inetd :Internet服务的主守护进程
-named :域名服务器
-lpd :打印服务器
-routed or gated :动态路由
-sendmail :邮件系统
-timed :时间服务器
-rwhod :远程用户信息
-snmpd :SNMP代理进程
host 机器名/IP 实现IP与机器名的转换
rsh PTYC2_svc date 执行另一台主机上的命令
lscfg 显示机器配置信息
lsdev -C -c if 显示网络接口描述
lsdev -C -c adapetr 显示适配描述
netpmon -v 物理/逻辑资源的详细报告
ps aux 查询内存使用情况
sar [-u|-c|-a|-q|-r] [-p] 1 10 查询系统负载情况
traceroute 10.188.182.1 跟踪IP
netpmon 可以监控关于网络行为的系统事件和性能以及网络行为对CPU的消耗。
lsdev -C|grep Process|wc -l 显示CPU数量
smitty mklv 创建裸设备(字符型设备);
smitty rmlv 删除裸设备(字符型设备);
lslv ***** ******为裸设备名称,显示裸设备相关参数
/etc/default/login 加上CONSOLE=/dev/console 后,可防止root用户telnet;
SSL工具代替telnet等,增加安全性
/etc/passwd .../bin/sh 对应 .profile
/etc/passwd .../bin/csh对应 .login
系统正常从桌面登录执行 .dtprofile
su - username执行 .profile
vmstat 查询内存情况
iostat
mpstat 查询CPU情况
/etc/vfstab 磁盘目录规划
mount 目录安装情况
format 查看磁盘物理信息
p 分区
p
swap [-l|s|d|a] 操作swap交换空间
patchadd -d 补丁文件名 打补丁-p 显示已打的补丁信息
sysdef -i
share -F nfs -o ro /etc
hare -F nfs -o rw=usera:userb /export
unshare /etc
dfshares
/usr/dt/bin/dtconfig -d 这将告知系统在下一次重新引导时不启动登录服务器。
/etc/ftpusers,/etc/default/login SOLARIS8下的FTP和TELNET缺省是关着,看看这两个文件.
sys-unconfig solaris重新设置
kdmconfig 配置显示器
eject 弹出CD-ROM或软驱