IBM  为 AIX 和 UNIX 用户提供的文章、教程和技术资源    http://www.ibm.com/developerworks/cn/aix/

 

AIX常用命令  (转)   http://blog.chinaunix.net/u2/76835/showart_1775445.html

 

AIX命令                http://blog.chinaunix.net/u2/82797/showart_1791818.html
 
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 记录所有的文件系统设置
增加并配置端口
  删除端口
  ftp://root@10.188.12.250/ 在客户端登录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或软驱;
 
==========================================
 
AIX 常用命令知识(自整理)
lsvg –o rootvg
# lspv hdisk0
# oslevel
# oslevel -r
ssaxlate –l hdisk3
lsattr –El hdisk0
lsattr -El proc0
lscfg –vl fsc0
lscfg –vl pdisk*
errpt –aj 粘贴错误码
errclear 0 (记得备份)
cp /var/adm/errlog /home/ww/err/errlog
errclear 0
lsdev -Cc adapter
prtconf
bosboot –ad /dev/hdisk0
bootlist –m normal –o
bootlist -m normal hdisk0 hdisk1 rmt0 fd

查看安装媒体内容:
installp -q -d /dev/cdrom –l
du
errpt |more
find / -name core –print
cp file1 file1.030807
ps aux |head
pmcycles -m
sync Command
Updates the i-node table and writes buffered files to the hard disk
#sync;sync;sync
crontab –l 查看
crontab –e 修改 (vi)
crontab –r 删除
有系统的,也可以编辑自己需要的 有时系统也自动生成,如电源故障报警系统生成的, 改正错误后应该删掉。
minute hour day_of_month month weekday command
These fields accept the following values:
minute 0 through 59
hour 0 through 23
day_of_month 1 through 31
month 1 through 12
weekday 0 through 6 for Sunday through Saturday
command a shell command
 
mount –rv cdrfs /dev/cd0 /mnt

lslpp –l /unix

ifconfig –a

netstat –in

fget_config -l dar0

chmod 755 lee

#ls –lu 查看某一文件最后一次被访问的时间

#bootinfo –b 查看上次引导设备

vmstat
svmon
ps
tprof
iostat
netpmon
filemon

检查物理内存:(RAM >= 512 MB)
# lsattr -El sys0 -a realmem

用instfix 命令查看当前的ML:
$ instfix -i | grep ML

# svmon -Pau 10 | more

查看某个patch是否安装了:
# instfix -i | grep IY24568
All filesets for IY25282 were found 表示已经有这个patch了

可使用下述命令使系统自动分配PVID:
# chdev -l hdisk# -a pv=yes

用#lsfs -q FSNAME看bf项为true则该FS为large型。

syncvg -v rootvg

ps aux |head -10

instfix -ciqk 5100-04_AIX_ML | grep ":-:"

用ls -altr列在最后面的就是最新被touch过的文件

如果在一个有很多目录结构下的fs里面想找出到底是谁占用空间最大 就用du -k|sort –rn

一次杀掉很多进程
ps -ef|grep XXXX|awk '{print $2}'|xargs kill –9
 
用来杀掉由用户"user1"产生的进程的shell命令。
 
# kill -9 `ps -ef|grep user1|grep -v grep|awk '{print $2}'`
 
 
bootinfo -y 处理器位数
bootinfo -K 内核位数

1, How to Switch AIX5.1 from 32-bit to 64-bit:
ln -sf /usr/lib/boot/unix_64 /unix
ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
lslv -m hd5
bosboot -ad /dev/ipldevice
shutdown -Fr
2, 2, How to Switch AIX5.1 from 64-bit to 32-bit:
ln -sf /usr/lib/boot/unix_mp /unix
ln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix
lslv -m hd5
bosboot -ad /dev/ipldevice
shutdown –Fr

确定系统是否加载了64位的内核扩展,使用命令:
# genkex |grep 64 若系统加载了64位的内核扩展,将返回类似下一行的信息:
149bf58 a3ec /usr/lib/drivers/syscalls64.ext

编辑/etc/environment
PS=”$LOGNAME:PWD>”

错误类型(TYPE):
PEND:设备很快就不能使用了
PERF:设备的性能降低到不能接受的地步
PERM:设备的错误不可恢复,此类型的错误表明此设备或驱动已完全损坏
TEMP:设备出现的错误经过几次尝试后已恢复了
UNKN:错误类型不能确定
INFO:仅仅为一个信息
TIMESTAMP: MMDDHHMMYY (月日时分年)
T(类型): P 永久; T 临时; U 未知 (永久性的错误应引起重视)
C(分类): H 硬件; S 软件; O 用户; U未知

#errpt -d H 列出所有硬件出错信息
#errpt -d S 列出所有软件出错信息
#errpt -aj ERROR_ID 列出详细出错信息
# errpt -aj 0502f666 <--- ERROR_ID用大小写均可

修复方法 用系统光盘或系统备份带启动(必须与硬盘中的操作系统版本一致) 启动后选择选项3
"Start Maintenance Mode for System Recovery"
> "Access a Root Volume Group"
> "Access this volume group and start a shell
before mounting the file systems" 格式化文件系统日志(jfslog)
# /usr/sbin/logform /dev/hd8 检查修复文件系统
# fsck -y /dev/hd1 (/home 文件系统)
# fsck -y /dev/hd2 (/usr 文件系统)
# fsck -y /dev/hd3 (/tmp 文件系统)
# fsck -y /dev/hd4 (/ 文件系统)
# fsck -y /dev/hd9var (/var 文件系统)
... ... 用 exit 命令退出,文件系统会自动 mount 起来。 重建bootimage
# lslv -m hd5 找出bootimage所在的硬盘,如hdisk0
# bosboot -ad /dev/hdisk0
# bootlist -m normal /dev/hdisk0 重建启动顺序表。 重启动系统
# shutdown -Fr

AIX如何自动logout用户 有的用户登录后就长时间空闲,有可能导致安全上的问题。通过打开/etc/profile中
TMOUT注释,将自动在所设置的时间到达后,logout用户。 例如:export TMOUT=120 那么,用户两分钟没有击键,将自动logout。

将man文件转换成普通文本文件 正确的将man文件输出转成文本文件的方法是:
$ man ls | col -b > man.txt

一、单机环境
1、系统用户的最大登录数maxlogin
maxlogin的具体大小可根据用户数设定,可以通过smitty chlicense命令修改,该参数记录于/etc/security/login.cfg文件,修改在系统重新启动后生效。
2、系统用户的limits参数 这些参数位于/etc/security/limits文件中,可以把这些参数设为-1,即无限制,可以用vi 修改/etc/security/limits文件,所有修改在用户重新登录后生效。
default:
fsize = 2097151 ----》改为-1
core = 2097151
cpu = -1
data = 262144 ----》改为-1
rss = 65536
stack = 65536
nofiles = 2000

3、Paging Space 检查paging space的大小,在物理内存<2G时,应至少设定为物理内存的1.5倍,若物理内存>2G,可作适当调整。同时在创建paging space时, 应尽量分配在不同的硬盘上,提高其性能。利用smitty chps修改原有paging space的大小或smitty mkps增加一块paging space。
4、系统核心参数配置 利用lsattr -Elsys0 检查maxuproc, minpout, maxpout等参数的大小。maxuproc为每个用户的最大进程数,通常如果系统运行DB2或ORACLE是应将maxuproc调整,Default:128、调整到500,maxuproc增加可以马上起作用,降低需要AIX重起。当应用涉及大量的顺序读写而影响前台程序响应时间时,可考虑将maxpout设为33, minpout设为16,利用smitty chgsys来设置。
5、文件系统空间的设定 一般来说,系统的文件系统/、/usr、/var、/tmp的使用率不要超过80%,/tmp建议至少为300M,文件系统满可导致系统不能正常工作,尤其是AIX的基本文件系统,如/ (根文件系统)满则会导致用户不能登录。用df 查看。

6、激活SSA Fast-Write Cache 利用smitty ssafastw来激活每一个逻辑盘hdiskn