AIX操作系统常用命令    



在AIX操作系统上有很多的命令。这里介绍一些系统级的命令,它将有助于回答一些常见问题。大家以此做参考,并补充修改。以下命令在AIX 5.1上测试通过。


  · 关于内核

  显示AIX系统内核是32位还是64位:

  bootinfo -K

  如何改变内核模式(32位或64位)

  /unix文件连接到一个可引导的映像。通过命令ls -l /unix查看:

  /unix -> /usr/lib/boot/unix_up # 32 bit uniprocessor kernel

  /unix -> /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel

  /unix -> /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel

  在AIX系统安装时,缺省安装的内核是32位。可以用如下命令更改内核模式:

  ln -sf /usr/lib/boot/unix_64 /unix

  ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unixbosboot

     -ad /dev/hdiskxxshutdown -r

  注意:/dev/hdiskxx是指引导逻辑卷/dev/hd5所在的硬盘。可通过下面命令来查看xx是几:

  lslv -m hd5

  · 关于硬件

  显示机器硬件是32位还是64位:

  bootinfo -y

  查看机器的物理内存是多少:

  bootinfo -r

  或

  lsattr -El sys0 -a realmem

  查看机器是否支持64位内核(是否64位硬件)

  /usr/sbin/bootinfo -p

  如果返回32,则表示硬件是32位的;如果返回的是chrp,则表示硬件是64位的机器。

  显示当前磁带设备rmt0的属性:

  lsattr -l rmt0 -E

  显示缺省的磁带设备rmt0的属性:

  lsattr -l rmt0 -D

  显示终端设备tty0的登录属性:

  lsattr -l tty0 -a login -R

  显示系统级属性:

  lsattr -E -l sys0

  查看当前系统有多少CPU:

  lscfg | grep proc

  查看当前系统有多少硬盘而且是否被使用:

  Lspv

  查看当前系统的详细配置:

  lscfg -pv

  也可以显示某一设备的配置:

  lscfg -vl rmt0

  查看当前系统的芯片名称、系统名、节点名、型号等:

  uname -p # 显示芯片名称,例如:powerpc

  uname -r # 显示操作系统的发行号

  uname -s # 显示系统名,例如:AIX

  uname -n # 显示节点名

  uname -a # 显示系统名、节点名、版本、机器ID

  uname -M # 显示型号,例如:IBM,7046-B50

  uname -v # 显示操作系统版本

  uname -m # 显示机器ID

  · 关于AIX

  查看AIX的版本、发行号、ML(Maintenance Level)级别:

  oslevel -r

  或

  lslpp -h bos.rte

  如何改变文件系统大小,例如:将/usr文件系统增加1000000字节:

  chfs -a size=+1000000 /usr

  如何使用CD:

  mount -V cdrfs -o ro /dev/cd0 /cdrom

  查看本机的IP地址:

  Ifconfig -a

  或

  host Fully_Qualified_Host_Name

  例如:host cyclop.austin.ibm.com

  查找哪一个文件集(fileset)包含特定的文件,

  例如:查找/usr/bin/vmstat属于哪一个文件集。

  lslpp -w /usr/bin/vmstat

  显示哪一个文件集包含/usr/bin/svmon:

  Which_fileset svmon

  查看某一级别的ML中所有文件是否都已经安装:

  instfix -i | grep ML

  如何确定某一补丁(fix)是否安装,例如:查看IY24043是否安装

  instfix -ik IY24043

  显示哪些文件集需要安装或修改:

  lppchk -v

  查看交换区(paging space)的分配和使用:

  lsps -a

  · 关于卷组和逻辑卷

  创建卷组:

  mkvg -y name_of_volume_group -s partition_size list_of_hard_disks

  partition_size单位是MB,它是1到1024之间的一个数。

  (2的次幂,例如:1, 2, 4, 8, 16, 32等,缺省是4MB。)

  创建逻辑卷:

  mklv -y name_of_logical_volume name_of_volume_group number_of_partition

  显示当前系统的所有卷组:

  Lsvg

  显示卷组rootvg的详细信息:

  lsvg rootvg

  显示属于rootvg的所有硬盘:

  lsvg -p rootvg

  如何添加一个硬盘到卷组中:

  extendvg Volume_Group_Name hdisk0 hdisk1 ... hdiskn

  如何替换一个硬盘:

  1. extendvg Volume_Group_Name hdisk_new

  2. migratepv hdisk_bad hdisk_new

  3. reducevg -d Volume_Group_Name hdisk_bad

  如何做一个逻辑卷镜像:

  1. mklvcopy Logical_Volume_Name Number_of_copies

  2. Syncvg Volume_Group_Name

  在AIX上,有一个很方便的系统管理命令smit。上面提到的命令中,如逻辑卷操作部分就可以smit轻松的完成。 这里介绍的命令只是AIX中的一小部分。更多更详细的内容请参考AIX系统手册和技术红皮书



      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 记录所有的文件系统设置

  增加并配置端口

  删除端口

  [url]ftp://root@10.188.12.250/[/url] 在客户端登录AIX(用IE)

  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或软驱