• 1. AIX 基础培训教材
  • 2. 目录第一章 AIX简介 第二章 AIX命令 附录
  • 3. 第一章 AIX简介主要内容: AIX与UNIX AIX的组成
  • 4. 1. AIX AIX是IBM公司开发的UNIX系统,是用在IBM的RISC System/6000计算机上的专用操作系统。曾多次被业界评为最佳的商用UNIX系统。 AIX是Advanced Interactive EXecutive的简称。 2.UNIX与AIX的发展历史 60年代末第一个UNIX操作系统在Bell Labs开发出来 1980年加州大学Berkeley分校发布了他们的UNIX系统 IBM从1985起开始使用UNIX系统 1986年IBM发布AIX第一版,用在RT6150计算机上 1990年IBM推出RISC System/6000及新的AIX Ver.3 1994年IBM推出AIX Ver. 4.1 目前AIX的最新版本为4.3,这是一种能同时运行32位及64位应用软件的64位操作系统。可运行在任何一款RS/6000的计算机上,并与AIX原有版本保持二进制兼容。
  • 5. AIX操作系统简介AIX = ADVANCED INTERACTIVE EXECUTIVE 高级的交互式执行系统。 AIX系统的结构 AIX SYSTEM STRUCTURE AIX的主要组成  Kernel(内核) 介于硬件设备及外壳(Shell)之间, 管理多进程、多用户, 管理存储设备,控制文件存取, Kernel的大部分用C语言编写、 小部分用汇编编写。 Hardware hardwarekernelshellapplications
  • 6. AIX系统性能IBM致力于提供一个总体吞吐量均衡的系统。 AIX重构了UNIX内核,增加了逻辑卷管理(LVM) 和日志文件系统(JFS)等功能,使UNIX的功能和 性能得到了很大的改善。
  • 7. AIX系统的用户界面AIX 通用桌面环境(COMMON DESKTOP ENVIRONMENT): X窗口系统(X WINDOWS) 命令行方式(SHELL):K Shell
  • 8. AIX 通用桌面环境
  • 9. AIX Windows environmant(窗口环境) AIX Windows环境有AIXwindows及AIX Common Desktop Environment两种。AIXwindows界面
  • 10. AIX操作系统的基本命令AIX系统的命令包括AIX自带的命令和用户编写的命令。 基本格式: # 命令(command) 选项(option) 参数(argument) 注意:命令选项和参数均有间隔(一个空格),而且顺序不能颠倒。
  • 11. AIX命令的格式  $ command option(s) argument(s)  command 命令本身  option(s) 命令选项,可以同时有多个,选项均以符号“-”开始  argument(s) 命令参数,可以同时有多个
  • 12. 第二章 AIX命令第一节 AIX基本命令 第二节 文件和目录的操作 第三节 文件和目录的权限 第四节 进程 第五节 客户化环境 第六节 AIX的其他功能
  • 13. 第一节 AIX基本命令Logout passwd mkdir、rm、mv、cd Date ls cal touch cat wc clear、echo、banner who finger 特殊键
  • 14. 命令行Logout AIX Version 4 (C) Copyrights by IBM and by others 1982,1996. Login: root root’s Password:# 退出系统 $ 或 $ exit 或 $ logout login:
  • 15. 口令passwd口令的创建和修改 $ passwd Changing password for team01 team01´s Old password: (the password does not appear) passwd: —输入旧口令 team01´s New password: (the password does not appear) new passwd: —输入新口令 Enter the new password again: (the password does not appear) re-enter new paswd: —重新输入新口令
  • 16. mkdir、rm、mv和cd mkdir :用于创建目录 rm :用于删除文件或目录(rm –r ) mv :用于改变文件或目录名 cd :用于进入系统某一级目录中去
  • 17. date1.date-- 查询及修改日期和时间 显示当前时间和日期 $ date Fri Jul 17 14:09:38 CDT 1998 设置时间和日期 $ date 0717142598 Fri Jul 17 14:25:56 CDT 1998 可设置的年代范围是1970~2037
  • 18. ls功能:显示目录中的内容,列出当前目录中所有文件的文件名 参数说明: a :列出目录中所有文件 d :列出所有子目录 l :列出长格式文件信息 举例: ls –a :列出当前目录中的所有文件 ls –l :显示文件的详细信息
  • 19. calcal --显示日历 显示指定的年月 $ cal 7 1998 July 1998 Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 显示指定的年份 $ cal 1998
  • 20. touch 命令用途 更新文件的访问和修改时间。 语法 touch [  -a ] [  -c ] [  -m ] [  -f ] [  -r RefFile ] [ Time |  -t Time ] { File ... | Directory ... } 描述 touch 命令更新由 Directory 参数指定的每个目录下的由 File 参数指定的每个文件的访问和修改时间。如果没有指定 Time 变量值,touch 命令就使用当前时间。如果指定了一个不存在的文件,touch 命令就创建此文件,除非指定了 -c 标志。 touch 命令的返回码是时间没有被成功修改的文件数目(包括不存在的文件和没有创建的文件)。 注: 任何超出 2038 年(包含2038年)的日期都是无效的。 标志 -a更改由 File 变量指定的文件的访问时间。不要更改修改时间,除非也指定了 -m 标志。 -c如果文件不存在,则不要进行创建。没有写任何有关此条件的诊断消息。 -f尝试强制 touch 运行,而不管文件的读和写许可权。 -m更改 File 的修改时间。不要更改访问时间,除非也指定了 -m 标志。 -r RefFile使用由 RefFile 变量指定的文件的相应时间,而不用当前时间。
  • 21. Time以 MMDDhhmm[YY] 的格式指定新时间戳记的日期和时间,其中: MM 指定一年的哪一月(从 01 到 12)。 DD 指定一月的哪一天(从 01 到 31)。 hh 指定一天中的哪一小时(从 00 到 23)。 mm 指定一小时的哪一分钟(从 00 到 59)。 YY 指定年份的后两位数字。如果 YY 变量没有被指定,缺省值为当前年份。 -t Time使用指定时间而不是当前时间。Time 变量以十进制形式 [[CC]YY]MMDDhhmm[.SS] 指定,其中: CC 指定年份的前两位数字。 YY 指定年份的后两位数字。 MM 指定一年的哪一月(从 01 到 12)。 DD 指定一月的哪一天(从 01 到 31)。 hh 指定一天中的哪一小时(从 00 到 23)。 mm 指定一小时的哪一分钟(从 00 到 59)。 SS 指定一分钟的哪一秒(从 00 到 59)。
  • 22. 示例 要更新文件的访问和修改时间,请输入: touch program。c 这会将 program.c 文件的上次访问和修改时间设置为当前日期和时间。如果 program.c 文件不存在,touch 命令就创建一个同名的空文件。 要避免创建新文件,请输入: touch  -c program.c 要仅更新修改时间,请输入: touch  -m *.o 这会更新当前目录下的以 .o 扩展名结尾的文件的上次修改时间(不更新访问时间)。touch 命令经常以此方式使用,来改变 make 命令的结果。 要明确设置访问和修改时间,请输入: touch  -c  -t 02171425 program.c 这会将访问和修改时间设置为当前年份的 2 月 17 日的 14:25(2:25 p.m.)。 要使用另一文件的时间戳记而不用当前时间,请输入: touch  -r file1 program.c 这会将 program.c 文件的时间戳记设置成与 file1 文件一样。 要使用指定时间而不是当前时间处理文件,请输入: touch  -t 198503030303.55 program.c 这会将 program.c 文件的时间戳记设置为 1985 年 3 月 3 日上午 3:03:55。
  • 23. cat 功能:连接或显示文件 举例: cat myfile :显示myfile文件中的数据 cat >myfile :从标准输入(键盘)建立文件myfile
  • 24. wcwc--统计一个文件的行数、词数及字节数 $ cat test.file Hello! This is a test file. $ wc test.file 2 6 28 test.file
  • 25. clear、echo、bannerclear -- 清屏或清除当前窗口内的信息 echo -- 显示用户指定信息 $ echo Hello! Hello! banner -- 用大字体方式显示用户指定信息 $ banner Hello! # # ### # # ###### # # #### ### # # # # # # # ## ##### ##### # # # # # # # # # # # # # # # # # # # ### # # ###### ###### ###### #### ###
  • 26. whowho--显示当前登录在系统上的用户的相关信息 显示登录在当前系统上的用户信息 $ who 显示你自己的名字 $ who am i yuxin pts/0 Aug 04 16:27 (Xumin)
  • 27. fingerfinger -- 显示用户信息 显示登录在系统上的用户信息 $ finger 显示某一用户的信息 $ finger username $ finger xumin Login name: xumin Directory: /home/xumin Shell: /usr/bin/ksh On since Aug 04 16:27:09 on pts/0, 1 minute 49 seconds Idle Time from Xumin No Plan.
  • 28. 特殊键以下是一些在Shell环境下组合键的用法: -- 终止当前的命令或前台进程 -- 结束一个传输或文件(的输入) -- 暂停屏幕输出 -- 继续屏幕输出 -- 删除当前输入行
  • 29. 第二节 文件和目录的操作文件类型 文件及目录名称 目录操作 文件操作
  • 30. 文件类型普通文件 包括用户和系统的各种文本文件、代码文件、程序文件和数据文件等等。 目录 包括文件和子目录信息,目录采用倒树状结构。 特殊文件 表示物理或逻辑设备,这些文件存放在 /dev 目录下面。
  • 31. 文件及目录名称文件或目录名称最多可以由255个字符组成,包括大写字母、小写字母、数字字符、#@_等字符。 文件或目录名称中不可以含有空格,不可以包含以下字符:*?>
  • 32. 目录操作 pwd -- 显示当前目录 $ pwd /home/xumin cd -- 改变当前目录 $ cd dir_name Mkdir -- 创建新目录 $ mkdir dir_name Rmdir -- 删除目录 $ rmdir dir_name Ls -- 显示目录 功能:显示目录中的内容,列出当前目录中所有文件的文件名 参数说明: a :列出目录中所有文件 d :列出所有子目录 l :列出长格式文件信息 举例: ls –a:列出当前目录中的所有文件 ls –l :显示文件的详细信息
  • 33. 文件操作cp -- 复制文件 $ cp source target mv -- 文件更名或移动 $ mv source target ln -- 连接文件 $ ln source target $ ls -l total 5 drwxr-xr-x 4 xumin staff 512 Jul 23 15:09 info -rw------- 1 xumin staff 630 Aug 06 10:44 mbox -rw-r--r-- 1 xumin staff 28 Aug 04 16:52 test.file ---x------ 1 xumin staff 3 Jul 31 16:49 testfile $ ln -s test.file test1.file $ ls -l total 5 drwxr-xr-x 4 xumin staff 512 Jul 23 15:09 info -rw------- 1 xumin staff 630 Aug 06 10:44 mbox -rw-r--r-- 1 xumin staff 28 Aug 04 16:52 test.file lrwxrwxrwx 1 xumin staff 9 Aug 11 13:31 test1.file -> test.file ---x------ 1 xumin staff 3 Jul 31 16:49 testfile
  • 34. cat -- 显示文件内容 $ cat file_name 使用cat命令时,所显示的文件应为纯文本文件,否则可能造成终端显示的混乱。 pg -- 显示文件 $ pg file_name pg命令能使用户分页显示文件内容,换页时使用回车键。 more -- 显示文件 $ more file_name more命令也能使用户分页显示文件内容,换页时使用空格键。 rm -- 删除文件 $ rm file_name
  • 35. qprt -- 打印文件 $ qprt file_name1 file_name2  $ qchk Queue Dev Status Job Files User PP % Blks Cp Rnk -------- ----- ------- ----------- ------ ----- ----- ---- ---- 4VCPCL hp@HP READY $ qprt test.file $ qchk Queue Dev Status Job Files User PP % Blks Cp Rnk -------- ----- ------- ----------- ------ ----- ----- ---- ---- 4VCPCL hp@HP RUNNING 39 test.file yuxin 1 100 1 1 qchk -- 查看打印队列 $ qchk qcan -- 取消打印作业 $ qcan -x jobnumber $ qcan -x 39 Queue Dev Status Job Files User PP % Blks Cp Rnk -------- ----- ------- ----------- ------ ----- ----- ---- ---- 4VCPCL hp@HP READY
  • 36. 第三节 文件和目录的权限 查看文件及目录的权限 文件及目录权限的含义 用符号方式修改权限 用十进制数字方式修改权限 新文件或目录的确省权限
  • 37. 查看文件及目录的权限使用ls -l命令可以看到文件及目录的权限。 $ ls -l drwxr-xr-x 4 xumin staff 512 Jul 23 15:09 info -rw------- 1 xumin staff 630 Aug 06 10:44 mbox -rw-r--r-- 1 xumin staff 28 Aug 04 16:52test.file ---x------ 1 xumin staff 3 Jul 31 16:49 testfile
  • 38. 文件及目录权限的含义权限区域 rwx rwx rwx 用户 同组用户 所有用户 权限含义 (1) 对于普通文件 r -- 能够读取文件内容 w -- 能够修改或删除文件内容 x -- 可以运行该文件 (2) 对于目录 r -- 能够查找该目录中的文件 w -- 能够在该目录中创建或删除文件 x -- 能够进入该目录
  • 39. 用符号方式修改权限修改权限的命令为chmod $ chmod mode filename  mode以下三部分组成 (1)权限区域 u -- 文件主人 g -- 同组用户 o -- 所有用户 a -- 文件主人及同组用户及所有用户 (2)动作 - -- 删除指定权限 + -- 增加指定权限 = -- 清除指定区域的权限并设置成指定权限 (3)权限 r -- 读 w -- 写 x -- 运行 $ ls -l test.file -rw-r--r-- 1 xumin staff 28 Aug 04 16:52 test.file $ chmod o+x test.file $ ls -l test.file -rw-r--r-x 1 xumin staff 28 Aug 04 16:52 test.file
  • 40. 用十进制数字方式修改权限修改权限的命令为chmod $ chmod mode filename  mode的组成 user group other r w x r w x r w x 400 40 4 200 20 2 100 10 1 例如:rw-rw-r-- 的权限对应的十进制数值为:664 (400+200+40+20+4) 相应的chmod命令为 chmod 664 filename $ ls -l test.file -rw-r--r-x 1 xumin staff 28 Aug 04 16:52 test.file $ chmod 664 test.file $ ls -l test.file -rw-rw-r-- 1 xumin staff 28 Aug 04 16:52 test.file
  • 41. 新文件或目录的确省权限umask命令可以定义新建文件或目录的确省权限 $ umask mode mode必须为十进制方式
  • 42. mode值不是实际确省权限,实际确省权限为: 文件:666-mode 目录:777-mode $ umask 000 $ mkdir newdir $ ls -l total 7 drwxr-xr-x 4 yuxin staff 512 Jul 23 15:09 info -rw------- 1 yuxin staff 630 Aug 06 10:44 mbox Drwxrwxrwx 2 yuxin staff 512 Aug 11 14:27 newdir -rw-rw-rw- 1 yuxin staff 21 Aug 11 14:16 newtest.file -rw-rw-r-- 1 yuxin staff 28 Aug 04 16:52 test.file lrwxrwxrwx 1 xumin staff 9 Aug 11 13:31 test1.file -> test.file ---x------ 1 xumin staff 3 Jul 31 16:49 testfile $ rmdir newdir $ umask 222 $ mkdir newdir $ ls -l total 7 drwxr-xr-x 4 xumin staff 512 Jul 23 15:09 info -rw------- 1 xumin staff 630 Aug 06 10:44 mbox dr-xr-xr-x 2 xumin staff 512 Aug 11 15:27 newdir -rw-rw-rw- 1 xumin staff 21 Aug 11 14:16 newtest.file -rw-rw-r-- 1 xumin staff 28 Aug 04 16:52 test.file lrwxrwxrwx 1 xumin staff 9 Aug 11 13:31 test1.file -> test.file ---x------ 1 xumin staff 3 Jul 31 16:49 testfile
  • 43. 第四节 进程进程的含义 前台进程与后台进程 提高进程优先等级进程的控制 终止进程 运行长进程 shell环境下进程的控制 后台驻留程序deamons
  • 44. 进程的含义进程的含义 在AIX中所谓进程就是一个任务,一个正在运行的程序就是一个进程。 子进程与父进程 进程与进程可以存在依赖关系,一个进程可以产生新的进程,被产生出来的进程叫做子进程,而原来的进程叫做父进程。 查看进程 ps -- 进程查看命令 在ps命令中可以查看到有关进程的UID(用户ID)、PID(进程的ID)、PPID(父进程ID)、C(cpu利用率)、STIME(开始的时间)、TTY(控制台)、TIME(运行的时间)、CMD(命令)等等。 示例: $ ps -f UID PID PPID C STIME TTY TIME CMD Xumin 15044 26436 0 17:17:15 pts/1 0:00 -ksh Xumin 27412 15044 6 17:18:04 pts/1 0:00 ps -f
  • 45. 前台进程与后台进程前台进程 前台进程运行时,用户必须等待当前进程结束,才能运行下一个进程。 前台进程的运行方式: $ command 后台进程 后台进程运行时,用户不必等待当前后台进程的结束,即可以运行下一个进程。 后台进程的运行方式: $ command &
  • 46. 提高进程优先等级nice -- 可增加nice的值,降低进程的优先级别。 $ nice [-lncrement | -n lncrement] renice -- 可再增加nice的值,以再降低进程的优先级别。
  • 47. 终止进程前台进程 (1) ctrl-c -- 终止当前的前台进程 (2) kill -- 终止指定的前台进程 后台进程 (1) kill -- 终止指定的后台进程 kill 的用法 $ kill [ -Signalnumber | -Signalname ] Processes 常用: $ kill ProcessesID $ kill -9 ProcessesID ProcessesID为进程号,可以用ps 命令获取
  • 48. 运行长进程nohup -- 使用户的后台进程在用户退出系统时仍然运行,如果无指定nohup的输出信息会将保存在nohup.out中 $ nohup command & $ nohup ls -R / &
  • 49. shell环境下进程的控制-- 暂停前台进程 jobs -- 显示后台进程及被暂停的进程 fg -- 继续被暂停的进程 bg -- 继续被暂停的进程并将其放在后台运行 在bg 、fg 、kill中指定一个进程,要使用%jobnumber,jobnumber可以用jobs来获取
  • 50. 后台驻留程序deamonsdeamon是一种永不停止的进程,通常用来管理和控制系统资源,如qdeamon(打印管理)、cron(定时运行指定程序)、errdeamon(出错管理)等等。
  • 51. 第五节 客户化环境 Shell定义用户环境的次序 环境文件的基本定义方法 命令的别名
  • 52. 1.Shell定义用户环境的次序1.Shell定义用户环境的次序 /etc/profile 由超级用户定义的样板profile文件,对每一个用户都适用。 /etc/enviroment 由超级用户定义的样板profile文件,对每一个用户都适用,但只在/etc/profile文件不存在的情况下才有用。 $HOME/.profile 用户自己定义的profile文件,可根据用户自己的爱好和风格来定义自己的profile。
  • 53. 2.环境文件的基本定义方法 定义环境变量 把系统的环境变量值定义为用户希望的值,使用户在登录到系统后不必再手工设置。同时也可以设置一些用户自定义的变量。  初始化 用户登录到系统后的初始化。例如:检查电子信箱、设置命令行编辑模式等 3.主要的环境变量  TERM -- 终端类型  PATH -- 可执行程序搜索路径  LANG -- 语言环境  PS1 -- 提示符  ENV -- 每次运行一个新的ksh时调用的环境文件
  • 54. 3.命令的别名  alias -- 赋别名 $ alias aliasname =string  unalias -- 取消别名 $ unalias aliasname 5.历史命令 在ksh中,系统可以记录一定量的最近执行过的命令,这些命令保存在$HOME/.sh_history文件中,确省状态下可保存128条命令。  history -- 显示最后的16条命令 $ history  r -- 重复最近执行过的命令
  • 55. 第六节 AIX的其他功能AIX中一些其他有用命令 find grep head 和tail cut sort 与转换dos功能 lsattr Errpt
  • 56. 1.find -- 查找文件 $ find path expression 在expression中可以按许多不同的特征查找 -name -- 按文件名查找 -type -- 按文件类型查找 -size -- 按文件大小查找 -mtime -- 按文件修改的日期查找 -perm -- 按文件的权限查找 -user -- 按文件的拥有者查找 -o -- 逻辑的“或” $ find . -name sum -print 从当前目录开始查找文件名为sum的文件并将结果显示出来 $ find . -perm 644 -mtime +4 -print 从当前目录开始查找文件权限为644,4天前修改的文件,并将其显示出来 $ find . –name ‘m*’ –print 在当前目录及其子目录中查找文件名为“m*”的所有文件(‘*’是通配符)并显示文件名。 $ find . –name ‘m*’ –exec ls –l {} \; 在当前目录及其子目录中查找文件名为“m*”的所有文件(‘*’是通配符)并显示详细的文件列表信息。-exec使得find以非交互的方式执行-exec后的命令。‘{}’用于保留find的查找结果,并将其作为ls –l 的输入。 $ find . –name ‘m*’ –ok  rm {} \; 在当前目录及其子目录中查找文件名为“m*”的所有文件(‘*’是通配符)删除之。-ok 使得find以交互的方式执行-ok后的命令。
  • 57. 2.grep -- 查找相匹配的字符 功能:在文件或标准输入中搜索与指定格式相匹配的行 语法:grep [options] pattern [file1 file 2..] 参数说明: -v :显示与指定格式不匹配的行 -c :统计满足条件的行数 -l :只显示满足匹配条件的文件名 -n :显示满足条件的行所在的行号 -I :查找时忽略大小写 -w :做全单词匹配 举例: $ grep mail .profile 搜索.profile文件中与mail匹配的行并显示。 $ grep –v mail .profile 显示与mail不匹配的行。 $ grep “^a[0-9]z$” filename 在filename中查找以’a’开头、以’z’结尾、中间包含数字’0’-‘9’的串。 $ grep [option] pattern [file1 file2 . . .]
  • 58. 3.head & tail -- 显示文件的开始或结束部分 功能:显示文件头或尾的内容 语法: head [-number_of_lines] file(s) tail [ -number_of_lines | + number_of_lines] file(s) $ head filename $ tail filename 参数说明: head命令中,-number_of_lines表示显示文件的头number_of_lines行信息; tail命令中,-number_of_lines表示显示文件的倒数number_of_lines行信息; +number_of_lines表示显示从number_of_lines行直到文件尾的信息。
  • 59. 4.cut -- 截取文件内容 功能:从(文件)行中截取相应的列,并将结果写到标准输出。 语法: cut -fnumber (s) -d (character) file cut -cnumber(s) file 参数说明: -c :以字符为单位进行截取 -f :以域为单位进行截取 -d :在使用-f参数时,默认的域分隔符是空格,用户可以通过-d参数指定域分隔符  按域截取内容 $ cut -f number(s) -d (character) filename  按字符截取内容 $ cut -c number(s) filename
  • 60. cut举例: 1. $ ps PID TTY TIME CMD 98 tty0 0:00 ps 100 tty0 0:00 /bin/ksh 108 tty0 0:00 /home/team01/myscript 2. $ ps |cut -c8-13 TTy tty0 tty0 tty0 3. $ ps |cut -c 1-4, 20-40 | grep ".*myscript" /home/team01/myscript $ text="A wonderful dish to set before the King!" $echo $text |cut -c-12,36- A wonderful King! Note :-12:从开始到第12个字符处; 36-:从第36个字符处到行尾。 4. $ cat /etc/passwd root:!:0:0:The Super User:/:/bin/ksh daemon:!:1:1::/etc: bin:!:2:2::/bin: $ cut -f1, 3 -d: /etc/passwd root:0 daemon:1 bin:2
  • 61. 5. sort -- 排序 功能:将输入行按指定规则排序 语法:$ sort [-t delimiter] [ +field[.column]] [options] 参数说明: -d 按字典顺序排序,排序过程中只考虑字母、数字及空格 -r 以相反方向排序 -n 按数字顺序排序
  • 62. sort举例: 1. $ cat animals dog.1 cat.2 elephant.4 rabbit.3 $ sort animals cat.2 dog.1 elephant.4 rabbit.3 2. $ cat animals | sort +0.1 rabbit.3 cat.2 elephant.4 dog.1 3. $ cat animals | sort –t. -n +1 dog.1 cat.2 rabbit.3 elephant.4
  • 63. 6.与转换dos功能  dosdir -- 显示DOS磁盘上的内容  dosread -- 从DOS盘上拷贝文件到AIX  doswrite -- 从AIX拷贝文件到DOS盘  dosformat -- 格式化DOS盘
  • 64. 7.管道与重定向 操作系统可以通过管道将多个命令连接在一起。如:command0|command1|… 其中管道符’|’将command0的标准输出定向为command1的标准输入,其余依此类推。 如:tail –f /tmp/agent.log |more 系统为每一个进程都定义了标准输入、标准输出及标准错误。通常标准输入指的是键盘输入,标准输出及标准错误指的是显示器输出。系统分别用0、1、2代表它们。但用户可以通过重定向符号(‘>’、‘<’)来改变标准输入、输出及标准错误。 Standard in < 0 Standard out > 1 Standard error 2> 2 如: $ command < infile > outfile 2> errfile $ command >> appendfile 2>> errfile < infile $ command > outfile 2>&1 $ command 2>&1 > outfile
  • 65. 8.lsdev 功能:显示系统设备配置库中的设备及其属性 语法: lsdev -C [ -c Class ] [ -s Subclass ] [ -t Type ] [ -f File ] [ -FFormat | -r ColumnName ] [ -h ] [ -H ] [ -l Name ] [ -S State ] lsdev -P [-c Class ] [ -s Subclass ] [ -t Type ] [ -f File ] [ -FFormat | -r ColumnName ] [ -h ] [ -H ] 参数说明: 主要参数说明 -C显示客户化的设备对象类(Customized Devices object class)的信息。默认输出设备名称、状态、位置及描述 。该参数不能和-P参数一同使用。 -c Class指定设备的类别。 -H为输出加上标题信息。 -h显示命令的使用信息。 -P显示系统中预定义的设备对象类(Predefined Devices object class)的信息。默认输出设备所属类别、类型、子类别及描述。该参数不能和-C 、-l、-S一同使用。 -S State显示所有处于State状态的设备。
  • 66. lsdev举例: 1. lsdev –P –H 显示ODM库中预定义的设备信息。输出为: class type subclass description logical_volume vgtype vgsubclass Volume group logical_volume lvtype lvsubclass Logical volume lvm lvdd lvm LVM Device Driver aio aio node Asynchronous I/O … … 2. lsdev -C –H 显示客户化的设备对象类的信息。输出格式与上类似。 3. lsdev -C -c adapter -S a 显示客户化的设备对象类中所有处于可用状态的适配卡。输出为: sa0 Available 01-S1 Standard I/O Serial Port sa1 Available 01-S2 Standard I/O Serial Port siokma0 Available 01-K1 Keybord/Mouse Adapter fda0 Available 01-D1 Standard I/O Diskette Adapter … … 4. lsdev -P -r class 显示系统支持的所有设备类别。输出为: adapter aio bus cdrom container disk diskette … …
  • 67. 9. lspv 功能:显示系统中的物理卷信息 语法: lspv [ -l | -p | -M ] [ -n DescriptorPhysicalVolume] [-v VolumeGroupID] PhysicalVolume 参数说明: 主要参数说明 -p显示该物理卷中每个物理分区的范围、区域、状态、所包含的LV的名称、类型、安装点等。 -v VolumeGroupID 显示由VolumeGroupID所指定VG的信息。 -M显示物理分区的分配表 -l 显示该物理卷中每个逻辑分区的信息。
  • 68. lspv举例: 1. lspv 显示系统中所有的PV信息,包括该PV的PVID以及该PV所处的VG名。输出为: hdisk0 00615147ce54a7ee rootvg hdisk1 00615147a877976a rootvg 2. lspv hdisk0 显示物理卷hdisk0的状态及属性。输出为: PHYSICAL VOLUME:hdisk0 VOLUME GROUP: rootvg PV IDENTIFIER: 000919756edab81f VG IDENTIFIER ….. PV STATE : active STALE PARTITIONS:0 PP SIZE: 8 megabyte(s) ALLOCATABLE: yes TOTAL PPs : 537 (4296 megabytes) FREE PPs : 155 (1240 megabytes) USED PPs : 382 (3056 megabytes) FREE DISTRIBUTION:47..00..00..00.108 USED DISTRIBUTION:61..107..107..107..00 3. lspv –p hdisk0 按照物理分区显示物理卷hdisk0的状态及属性。输出为: hdisk0: PP RANGE STATE REGION LV NAME TYPE MOUNT POINT 1-1 used outer edge hd5 boot N/A 2-48 free outer edge 49-51 used outer edge hd9var jfs /var
  • 69. 10. cfgmgr 功能:用来配置系统中的设备,还可以安装相应的设备软件。 参数说明: 主要参数说明-i Device指定安装介质-l Name指定需要配置的设备,包括其子设备-v在标准输出上显示详细的配置过程举例: cfgmgr -l scsi0 配置连接在SCSI0上的设备。 cfgmgr -i /usr/sys/inst.images 由/usr/sys/inst.images文件安装设备软件。
  • 70. 11. lsattr 功能:用来系统设备的相关属性。 语法: lsattr { -D [ -O ] | -E [ -O ] | -F Format } -l Name [ -a Attribute ] ...[-f File ] [ -h ] [ -H ] lsattr { -D [ -O ] | -F Format } { [ -c Class ] [ -s Subclass ] [ -t Type ]} [ -a Attribute ] ... [ -f File ] [ -h ] [ -H ] lsattr -R { -l Name | [ -c Class ] [ -s Subclass ] [ -t Type ] } –a Attribute [ -f File ] [ -h ] [ -H ] 参数说明: 主要参数 说明 -D 当与-O参数共同使用时,显示属性名称、缺省值、描述、用户可设置的标志值等。 -E 显示属性名称、当前值、描述、用户可设置的标志值等。该标志不能和-c ,-D,-F,-R,-s或-t标志一起使用。 -F Format 按用户指定的格式显示输出。 -a Attribute显示设备的Attribute属性值。 -c Class指定设备的类别名称。 -f File 从File文件中读取标志。 -H输出时显示信息标题。 -l Name指定设备的逻辑名称。 -O显示设备的所有属性。 -s Subclass指定设备子类名称。 -t Type指定设备类型名。
  • 71. lsattr举例: 1.lsattr -l rmt0 –E / lsattr -l rmt0 –D 显示rmt0的当前/默认属性。 2.lsattr -l tty0 -a login -R enable disable share delay hold 显示tty0的login属性的所有可能值。
  • 72. 12. Errpt 功能:用来产生系统的错误报告。 语法: errpt [ -a ] [ -c ] [ -d ErrorClassList ] [ -e EndDate ] [ -g ] [ -i File ][ -j ErrorID [ ,ErrorID ] ] | [ -k ErrorID [ ,ErrorID ]] [ -J ErrorLabel [,ErrorLabel ] ] | [ -K ErrorLabel [ ,ErrorLabel ] ] [ -l SequenceNumber ] [-m Machine ] [ -n Node ] [-s StartDate ] [ -F FlagList ] [ -NResourceNameList ] [ -R ResourceTypeList ] [ -S ResourceClassList ] [ -TErrorTypeList ] [ -y File ] [ -z File ] 参数说明: 主要参数 说明 -a显示系统错误的详细信息。 -j ErrorID[,ErrorID]显示指定错误号的详细信息。 -s StartDate显示由指定时间开始的系统错误。 举例: 1. errpt 显示当前系统中的全部错误信息。 2. errpt –a 详细显示当前系统中的全部错误信息。 3.# date Fri Oct 30 08:24:00 CST 1998 # errpt -a -s 1029082498 显示由指定时间开始的系统错误。
  • 73. 附录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 拷贝文件
  • 74. 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 管理用户
  • 75. 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(或)
  • 76. 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是一个包,后跟参数,不同工具)
  • 77. 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
  • 78. 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激活
  • 79. 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文件(目录)为隐藏;
  • 80. 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; 当任何用户都不能登录图形界面时 有可能根结点充满,在登录窗口用字符方式登录,加大根结点空间即可;
  • 81. 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 得到碎片连续化操作后和前后对比情况
  • 82. 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 定义变量
  • 83. 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 两个字符串相同;
  • 84. 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] 显示用户信息
  • 85. 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命令查看登录记录
  • 86. 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服务的主守护进程
  • 87. -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的消耗。
  • 88. -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 删除裸设备(字符型设备);
  • 89. 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或软驱