AIX 读取 profile 的机制

合集下载

AIX操作指南补充材料

AIX操作指南补充材料

系统管理界面接口工具SMITSMIT是一个具有交互式界面的应用,设计用于简化系统管理任务。

SMIT命令中通过显示一系列分层次的菜单,帮助引导用户到想要执行的管理对话框,然后根据用户的选择生成用于完成管理任务的命令并执行之。

不过这要求用户具有执行SMIT所生成命令的权限。

运行SMIT不带参数运行SMIT,将进入顶级菜单,要想直接进入低一级的子菜单,可在smit后带上相应的快捷路径参数,例如:smit chuser 将进入修改用户属性的对话框界面。

smit 有ASCII文本和图形两种用户界面。

在从AIXwindows环境下的aixterm窗口,或CDE环境下的dtterm 窗口中,在命令行键入smit将启动图形界面的SMIT;如果输入smitty或smit -C,或在不带图形功能的终端下执行smit,就进入smit文本菜单。

SMIT在执行过程中生成两个文件:smit.script和smit.log,分别保存SMIT执行过的命令脚本信息和日志信息。

调用smit 时带上-s PathName参数将会把smit.script文件存到PathName参数所指定的目录中,否则SMIT执行过的脚本信息将保存在$HOME/smit.script文件中。

调用smit 时带上-l PathName参数将会把smit.log 文件存到PathName参数所指定的目录中,否则SMIT执行过的日志信息将保存在$HOME/smit.log文件中。

如果没有对所指定目录的写权限,将无法生成smit.script和smit.log。

每次运行SMIT 不会覆盖smit.log 和smit.script,只要可能,新的信息会追加到这些文件中。

如果带-D参数执行smit将会以调试模式运行SMIT,这种方式下SMIT将产生更多的信息,保存到smit.log文件中。

基本的smit操作键SMIT对话框的提示符基于WEB的系统管理基于WEB的系统管理是一个用于管理系统的图形用户接口应用(GUI)。

AIX下的coredump分析(精品)

AIX下的coredump分析(精品)

本文简要介绍了AIX 平台下core dump 产生的原理以及相关定位方法。

Core dump 基本知识本节主要探讨core dump 产生的背景知识。

对这部分不感兴趣的读者可以直接阅读第二章,了解基本的core dump 定位手段。

起源软件是人思维的产物。

智者千虑,必有一失,人的思维总有缺陷,反映到软件层面上就是程序bug。

程序bug 的终极体现就是core dump,core dump 是软件错误无法恢复的产物。

生成过程进程core dump 与系统dump 的产生,从程序原理上来说是基本一致的。

dump 的生成一般是在系统进行中断处理时进行的,下面简单介绍一下中断机制。

操作系统的中断机制操作系统是由中断驱动的。

广义的中断一般分为两类,中断(Interrupts) 和异常(Exceptions)。

中断可在任何时候发生,与CPU 正在执行什么指令无关,中断主要由I/O 设备、处理器时钟(分时系统依赖时钟中断划分时间片)或定时器等硬件引发,可以被允许或取消。

而异常是由于CPU 执行了某些指令引起的,可以包括存储器存取违规、除0 或者特定调试指令等,内核也将系统服务视为异常。

系统对这两类中断的处理基本上是相同的。

每个中断都会唯一对应到一个中断处理程序,在该中断触发时,相应的处理程序就会被执行。

例如应用进程进行系统调用时,就会触发一个软件异常,进入中断处理函数,完成从用户态到系统态的迁移并进入相应系统调用的入口点。

应用进程coredump 也是一个类似的过程。

应用进程core dump 生成过程在进程运行出现异常行为时,例如无效地址访问、浮点异常、指令异常等,将导致系统转入内核态进行异常处理(即中断处理),向相应的进程发出特定信号例如SIGSEGV、SIGFPE、SIGILL 等。

如果应用进程注册了相应信号的处理函数(例如可通过sigaction 注册信号处理函数),则调用相应处理函数进行处理(应用程序可以选择记录信息后生成core dump 并退出);否则将采取默认动作,例如SIGSEGV 的默认动作是生成core dump 并退出程序。

14.AIX实用命令2

14.AIX实用命令2

14.6 文件比较命令
AIX提供以下三个文件比较命令:
diff
cmp dircmp
diff 命令
命令格式: diff [-options] file1 file2 功能: 比较两个文本文件之间的区别。 注: diff命令会逐行比较两个文本文件,并将 它们之间的区别输出到标准输出。
diff 命令(2)
通过xargs命令,打印printlist文件中列出的所有 文件
xargs 命令综合运用
xargs与find结合使用
$ find . –type f –mtime +30 | xargs –t rm rm ./file1 ./file2 ./file3 ./file4
等价于:
$ find . –type f –mtime +30 –exec rm {} \;
命令参数: -w 忽略空格键和tab键
-b 忽略打头的空格键和tab键,并将多
个空格键等同看待 -e 生成适合于ed编辑器处理的格式
diff 命令(3)
diff命令只对文本文件有效。
diff的输出结果中:
< 表示在file1中但不在file2中的行 > 表示在file2中但不在file1中的行
diff命令 示例
dircmp命令 示例
$ dircmp –d /home/team01 /home/team02 Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 only ./dir1 ./b1 ./dir1/c3 列出该目录下特有的目录及文件 ./dir1/c4 Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 only directory . same ./.profile 列出两个目录下共有的目录及文件 different ./.sh_history different ./c1 same ./c2 Fri Jan 21 10:31:10 CDT 2000 /home/team01 only and /home/team02 1c1 <Now is the time for all good men> /home/team01 /home/team02 .profile ………. .profile .sh_history >Now is the time for all good women c1 .sh_history

使用AIX profile简化工作

使用AIX profile简化工作

简介:本文是介绍 AIX profile 的文章。

通过本文,可以让 AIX 初学者掌握一些必要的设置环境变量的知识,从而给自己的工作带来便利,提高效率。

简介 AIX 读取 profile 的机制在我们的工作中,经常会重复的敲击和记忆一样的命令,特别是那些冗长的路径。

如果我们了解了AIX 读取 profile 的机制,我们就可以提前设置我们的工作环境,给我们的日常工作带来极大的便利,提高我们的工作效率。

首先,我们要了解 shell 在登录的过程中是如何读取环境变量的。

这样,我们可以在读取环境变量之前,设置我们想要的工作环境,让我们在工作中的效率更高。

不需要每时每刻都要去记忆敲击一大堆带有冗长路径的命令。

好吧,就让我们开始吧。

在 AIX 系统启动以后,如果我们登录系统并且登录用户的默认 shell 是 Korn Shell 的话,shell 会读取以前设置的初始化文件来设置登录用户的环境。

用户环境的定义是通过设置环境变量来实现的。

当登录操作系统时,shell 先执行 /etc/environment,后执行 /etc/profile 的。

/etc/environment 是设置整个系统的环境,而 /etc/profile 是设置所有用户的环境,/etc/environment 与登录用户无关,/etc/profile 与用户相关。

登录时,这两个文件运行完毕后 , 系统会接着检查在登录用户的 home 目录下是否有 .profile 文件,如果“.profile”文件存在 , 就执行它。

“.profile”文件还会指出是否还有一个环境文件。

如果有环境文件 (.env 或者 .kshrc) 存在 , 系统会运行这个文件 , 并设置登录用户的环境。

注意:“/etc/environment”,“/etc/profile”,“.profile”是在登录时执行一次。

“.env”文件是我们每次打开一个新的终端的时候都会执行的。

aix常用命令

aix常用命令

aix常用命令AIX常用命令目录操作命令名功能描述使用举例mkdir 创建一个目录 mkdir dirnamermdir 删除一个目录 rmdir dirnamemvdir 移动或重命名一个目录 mvdir dir1 dir2cd 改变当前目录 cd dirnamepwd 显示当前目录的路径名 pwdls 显示当前目录的内容 ls -ladircmp 比较两个目录的内容 dircmp dir1 dir2文件操作命令名功能描述使用举例cat 显示或连接文件 cat filenamepg 分页格式化显示文件内容 pg filenamemore 分屏显示文件内容 more filenameod 显示非文本文件的内容 od -c filenamecp 复制文件或目录 cp file1 file2rm 删除文件或目录 rm filenamemv 改变文件名或所在目录 mv file1 file2ln 联接文件 ln -s file1 file2find 使用匹配表达式查找文件 find . -name "*.c" -print file 显示文件类型 file filename选择操作命令名功能描述使用举例head 显示文件的最初几行 head -20 filenametail 显示文件的最后几行 tail -15 filenamecut 显示文件每行中的某些域 cut -f1,7 -d: /etc/passwdcolrm 从标准输入中删除若干列 colrm 8 20 file2paste 横向连接文件 paste file1 file2diff 比较并显示两个文件的差异 diff file1 file2sed 非交互方式流编辑器 sed "s/red/green/g" filenamegrep 在文件中按模式查找 grep "^[a-zA-Z]" filenameawk 在文件中查找并处理模式 awk '{print $1 $1}' filename sort 排序或归并文件 sort -d -f -u file1uniq 去掉文件中的重复行 uniq file1 file2comm 显示两有序文件的公共和非公共行 comm file1 file2wc 统计文件的字符数、词数和行数 wc filenamenl 给文件加上行号 nl file1 >file2安全操作命令名功能描述使用举例passwd 修改用户密码 passwdchmod 改变文件或目录的权限 chmod ug+x filename umask 定义创建文件的权限掩码 umask 027chown 改变文件或目录的属主 chown newowner filename chgrp 改变文件或目录的所属组 chgrp staff filenamexlock 给终端上锁 xlock -remote编程操作命令名功能描述使用举例make 维护可执行程序的最新版本 maketouch 更新文件的访问和修改时间 touch -m 05202400 filename dbx 命令行界面调试工具 dbx a.outxde 图形用户界面调试工具 xde a.out进程操作命令名功能描述使用举例ps 显示进程当前状态 ps ukill 终止进程 kill -9 30142nice 改变待执行命令的优先级 nice cc -c *.crenice 改变已运行进程的优先级 renice +20 32768时间操作命令名功能描述使用举例date 显示系统的当前日期和时间 datecal 显示日历 cal 8 1996time 统计程序的执行时间 time a.out网络与通信操作命令名功能描述使用举例telnet 远程登录 telnet rlogin 远程登录 rlogin hostname -l usernamersh 在远程主机执行指定命令 rsh f01n03 dateftp 在本地主机与远程主机之间传输文件 ftp rcp 在本地主机与远程主机之间复制文件 rcp file1 host1:file2 ping 给一个网络主机发送回应请求 ping mail 阅读和发送电子邮件 mailwrite 给另一用户发送报文 write username pts/1mesg 允许或拒绝接收报文 mesg nKorn Shell 命令命令名功能描述使用举例history 列出最近执行过的几条命令及编号 historyr 重复执行最近执行过的某条命令 r -2alias 给某个命令定义别名 alias del=rm -iunalias 取消对某个别名的定义 unalias del其它命令命令名功能描述使用举例uname 显示操作系统的有关信息 uname -aclear 清除屏幕或窗口内容 clearenv 显示当前所有设置过的环境变量 envwho 列出当前登录的所有用户 whowhoami 显示当前正进行操作的用户名 whoamitty 显示终端或伪终端的名称 ttystty 显示或重置控制键定义 stty -adu 查询磁盘使用情况 du -k subdirdf 显示文件系统的总空间和可用空间 df /tmpFTP上传1.开始 - 运行 - 输入“cmd”,输入ftp 127.0.0.1*因为是本机*ername:password*输入用户名,密码,如果你的密码输入错误,将不会提示你重新输入,这时你要键入“user”命令,你可以重新输入用户名和密码*3.dir*dir命令查看FTP服务器中的文件及目录,ls只可以查看文件*4.bin*采用二进制传输。

AIX命令解释与示例

AIX命令解释与示例

命令Rcp用途:在本地主机和远程主机之间或者在两个远程主机之间传输文件描述:如果满足一下某一条件,就可以访问远程主机A.本地主机包括远程主机/etc/hosts.equiv文件中且远程用户不是rootB.本地主机和用户名称包括在远程用户帐号的$HOME/.rhosts文件中示例在远程主机的/etc/hosts.equiv文件中列出本地主机1.要复制本地文件到远程主机,请输入:Rcp localfile host2:/home/eng/jane本地主机上的文件local file复制到远程主机host22.要将远程文件从一台远程主机复制到另外一台主机,请输入Rcp host1:/home/eng/jane/newplan host2:/home/neg/mary文件 /home/eng/jane/newplan 从远程host1复制到远程host2Nslookup用途:查找因特网域名服务器示例1.更改缺省查询类型为主机信息(HINFO)并且初始时间为10秒,输入Nslookup –query=hinfo – timeout=102.设置域和搜索列表为三个名称,lcs.MIT.DEU/ai.MIT.DEU/,输入Nslookup –set srchlist=//该命令覆盖缺省域名和set domain 命令的搜索列表.使用set all命令显示列表Sar用途:收集,报告或保存系统活动信息描述:将所选的操作系统累计活动计数器的内容写入标准输出参数:-f File 从file(由-o file标志创建)文件中提取记录-m 报告每秒消息(发送和接受)以及信号(创建,使用,破坏)活动-o File 将读取的内容以二进制格式保存在文件里-P ProcessorIdentifier,..| ALL 为指定的处理器提供每个处理器的统计报告ALL:将对各个处理器单独作报告统计,并对所有处理器作统计报告-r 报告调页统计信息-u 报告每个处理器或系统范围的统计信息-V 读取在以前操作系统版本中创建的sar文件-y 报告每秒tty设备的活动示例1.要在随后当地20秒内每2秒报告当前的tty活动,输入Sar –y –r 2 202.要观察系统单元10分钟,并对数据进行排序,输入Sar –o temp 60 103.要报告最前两个cpu的活动,输入Sar –u –P 0,1产生一下类似的输出Cpu %usr %sys %wio %idle0 45 45 5 51 27 65 3 5Iostat用途:报告CPU统计信息和整个系统,适配器,tty设备,磁盘和cd-rom的输入/输出的统计信息描述:iostat命令用来监视系统输入/输出设备负载,这通过观察与他们的平均传输速率相关的物理磁盘的活动时间来实现.生成的报告可以用来更改系统配置来更好地平衡物理磁盘和适配器之间的输入/输出负载.报告:Tty和cpu使用率报告:Tin 显示系统为所有tty读取的字符总数T out 显示系统为所有tty写入的字符总数%user 显示在用户级(应用程序)执行时产生的cpu使用率百分比%sys 显示在系统级(内核)执行时产生的cpu使用率百分比%idle 显示在cpu空闲并且系统没有未完成的磁盘i/o请求时的时间百分比%iowait 显示在cpu空闲并且系统有未完成的磁盘i/o请求时的时间百分比磁盘使用率报告:%tm_act 表示物理磁盘处于活动状态的时间百分比(驱动区的带宽使用率)Kbps 表示以KB每秒为单位的传输(读或写)到驱动器的数据量Tps 表示每秒钟输出到物理磁盘的传输次数,一次传输就是一个对物理磁盘的i/o请求,多个逻辑请求可被并为对磁盘的一个单一i/o请求,传输具有中等的大小Kb_read 读取的KB总数Kb_write 写入的KB总数T opas用途:报告所选本地系统的统计信息描述:此命令使用curses库以合适的格式显示输出,需要安装perfagent.tools文件集Vmstat用途:报告虚拟内存统计信息描述:报告关于内核线程,虚拟内存,磁盘,陷阱和cpu活动的统计信息,生成的报告可以用于平衡系统负载活动.系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或计算其总和.报告:Kthr:内核线程状态在采样间隔期间每秒钟更新一次r 置于运行队列中的内核线程数目b 置于等待队列(等待资源,等待输入/输出)的内核线程数目内存:关于使用虚拟内存和实内存的信息Avm 活动虚拟页Fre 空闲列表的大小页:关于缺页故障和调页活动的信息Re 页面调度程序输入/输出列表Pi 从调页空间调度进的页面Po 调出到调页空间的页面Fr 释放的页(页面替换)Sr 通过页替换算法扫描的页面Cy 按页替换算法的时钟周期故障:采样间隔平均每秒的捕获和中断率In 设备中断Sy 系统调用Cs 内核线程上下文切换Cpu:cpu使用时间故障百分比Us 用户时间Sy 系统时间Id cpu空闲时间Wa cpu空闲时间,在此期间系统有未完成的磁盘/nff i/o请求.Filemon用途:监视文件系统的性能,并且报告代表逻辑文件,虚拟内存段,逻辑卷和物理卷的i/o活动描述:监视文件系统和i/o系统事件的跟踪,并且报告一个周期内的文件和i/o的访问性能.示例:1.要按所有的文件系统级别来监控活动,并把报告写入到文件fmon.out中,输入:Filemon –o fmon.out -0 all2.要报告先前记录的一个跟踪会话捕获的i/o活动,输入:Filemon –i trcfile |pgLvmstat用途:报告逻辑分区,逻辑卷和卷组的输入/输出统计信息描述:此命令生成报告,可用于更改逻辑卷配置以更好的平衡物理磁盘间输入/输出负载,缺省下,系统不启用这种统计信息集合,必须使用-e来为有问题的逻辑卷或卷组启用这项功能,生成的第一个报告提供了自从系统引导以后的有关统计信息.报告:Log_part 逻辑分区号Mirror#log_part 逻辑分区的镜像副本号Iocntlog_part 读/写请求号Kb_readlog_part 读取的千字节总数Kb_wrtnlog_part 写入的千字节总数Kbpslog_part 每秒传送数据的千字节数参数:-c count 仅打印统计信息中指定数量的行-C 使指定逻辑卷/卷组的跟踪iocnt,Kb_read和Kb_wrtn的计数器清除-d 指定应该为有问题的逻辑卷/卷组禁用统计信息集合-e 指出应该为有问题的逻辑卷/卷组启用统计信息集合-F 使统计信息以冒号分隔的方式打印-l 指定要列出的节名-s 当使用interval时禁用显示后继报告的页眉-v 指定已指定的name是卷组名示例:1.要为卷组datavg启用统计信息收集,输入:Lvmstat –v datavg –e3.要显示逻辑卷hd2的所有分区的历史记录,输入:Lvmstat –l hd23.要显示卷组uservg中最前面5个逻辑卷的历史记录,输入:Lvmstat –v uservg –c 54.要每隔2秒显示卷组rootvg达到6个报告,输入:Lvmstat –v rootvg 2 65.要禁用rootvg的统计信息收集,输入:Lvmstat –l rootvg –dImport用途:从一个物理卷中导入一个新卷组定义描述:Import使系统得知先前已导出的卷组,示例:1.要从物理卷hdisk07导入卷组bkvg,输入;Import –y bkvg hdisk07使卷组bkvg对系统已知-y:为新卷组指定使用的名字.Env用途:显示当前环境或者为命令的执行设置环境描述:容许显示当前环境或者在一个被改变了的环境下运行一个指定的命令.示例:1.要想改变TZ环境变量(在date命令正在运行时),输入:TZ=MST7MDT date or env TZ=MST7MDT date2.要想只包含PATH,IDIR,LIBDIR环境变量定义的环境中运行make,输入env -i PATH=$PATH IDIR=/$HOME/include LIBDIR=/$HOME/lib make必须指定PATH变量,当make被完成时,前面的环境就会生效.Importvg用途:从一组物理卷中导入一个新卷组定义描述:使系统得知先前已导出的卷组.PhysicalVolume参数指定只有一个物理卷来标识卷组,当一个带文件系统的卷组被导入时,/etc/filessystems文件由新逻辑卷和安装点的值更新,当导入卷组并用varyonvg命令激活后,必须在文件系统安装前运行fsck命令.参数:-c 在AIX5.2和更高版本仅创建”增强型并发”卷组被创建-f 强制卷组在线变化-L VolumeGroup 获得一个卷组并且了解在其上可能进行的更改-l 如果imfs失败,则导致importvg失败-n 在卷组导入系统完成时,使该卷不变化-V MajorNumber 指定导入卷组的主数(lvlstmajor可以显示主数)MajorNumbe:共享VG的一个物理代号,如果两个(或者多个)机器用一个共享VG的话,他们所认到的major number是一样的,也表示的是设备的唯一识别号.示例:1.要从物理卷hdisk07导入卷组bkvg,输入:Importvg –y bkvg hdisk01 使卷组bkvg对系统已知Exportvg用途:从一个卷组标集中导出卷标组的定义.描述:exportvg命令会从系统中除去volumegroup参数指定的卷标组的定义,导出的卷标组不再可以访问,卷标组在系统中是一种非共享资源.示例:1.要想从系统中除去卷标组vg02,输入:Exportvg vg02该卷标组在导出前必须被断开,vg02从系统中除去,且不能被访问.Varyonvg用途:激活卷组描述:当卷组被激活时,如果物理分区不是当前的,则它们将被同步.示例:1.要激活卷组vg03,输入:Varyonvg vg032.要激活卷组vg03而不同步当前分区,输入:Varyonvg –n vg03-n:禁止volumegroup内的旧物理分区的同步.Banner用途:将ASCII字符字符串以大型字母的形式标准输出描述:输出中的每行最长可达10大写或小写字符,输出时所有字符显示为大写,当在一行上显示一个以上的字时,请使用引号来指定哪些字将出现在一行上.示例:1.要在工作站显示标题,输入Banner SMILE!2.要在一行上显示一个以上的字,请将文本括在引号中,如下:Banner “out to” Lunch这将在一行上显示 out to 而在下一行显示LunchMkuser用途:创建用户参数:-a 指定用户是管理员-R 指定可加载的I&A模块来创建用户示例:1.创建davis用户并且作为管理员,输入Mkuser –a davis 只有root或有“useradmin”授权的用户能创建davis作为管理用户2.创建davis用户并设置su属性值为false,输入Mkuser su=false davis3.创建davis用户,他通过LDAP加载模块标识和认证,输入:mkuser –R LDAP davis4.要使用/usr/lib/security/mkuser.default文件中的缺省值创建davis用户,输入:mkuser davisPasswd用途:更改用户密码描述:根据用户的定义,密码可以存放在本地或远程,本地密码存放于/etc/security/passwd 数据库中,远程密码存放于网络信息服务(NIS)或分布式计算环境(DCE)数据库.示例1.要更改/etc/passwd文件中全名,输入:Passwd –f2.要在下次登陆时使用不同的shell,输入:Passwd –s3. T o enable user smith to access this system remotely, enter:Chuser rlogin=true smith4. T o display the user ID and group-related information for the root account instanza form, enter:# lsuser -f -a id pgrp home rootroot:id=0pgrp=systemhome=/5. T o display the user ID, groups, and home directory of user smith in colonformat, enter:lsuser -c -a id home groups smith6. T o shows the use of the rmuser command to remove a user accountsmith and its attributes from the local system:rmuser smith7. T o remove the user smith account and all its attributes, includingpasswords and other user authentication information in the/etc/security/passwd file, use command:rmuser -p smith8. Shows the command to display information about all the users who arelogged on to the system:# whoroot pts/0 Nov 17 10:20 (sv1166a.itsc.aus)root pts/2 Nov 23 10:45 (sv1121c.itsc.aus)root pts/3 Nov 23 10:48 (sv1121c)Shows the command to display your user name:# who am Iroot pts/3 Nov 23 10:48 (sv1121c)Shows how to display the run-level of the local system:# who -r. run-level 2 Nov 17 10:19 2 0 ST o display any active process that was spawned by init, run the following command:# who -prc . Nov 17 10:19 4:12 2896 id=rcfbcheck . Nov 17 10:19 4:12 2898 id=fbchecksrcmstr . Nov 17 10:19 4:12 2900 id=srcmstrrctcpip . Nov 17 10:19 4:12 4648 id=rctcpiprcnfs . Nov 17 10:19 4:12 4650 id=rcnfscron . Nov 17 10:19 4:12 4652 id=cronpiobe . Nov 17 10:19 4:12 4984 id=piobeqdaemon . Nov 17 10:19 4:12 4986 id=qdaemonwritesrv . Nov 17 10:19 4:12 4988 id=writesruprintfd . Nov 17 10:19 4:12 4990 id=uprintfpmd . Nov 17 10:19 4:12 8772 id=pmddt . Nov 17 10:19 4:12 9034 id=dtDtconfig示例:1.T o enable the desktop autostart, usesmitty dtconfig or dtconfig -e.T o disable the desktop autostart, usesmitty dtconfig or dtconfig -d.Syslogd守护进程用途:记录系统消息描述:syslogd守护程序读取数据报套接字,并将每个消息行发送到/etc/syslog.conf配置文件所描述的目的地.在激活和收到挂断信号时读取配置文件.示例1.要在调试级别或更高级别将所有的邮件设施消息记录到文件/tmp/mailsyslog,输入mail.debug /tmp/mailsyslog2.要将所有的邮件设施消息发送到所有的用户终端屏幕,输入Mail.debug *Alog用途:创建并维护自标准输入的固定大小的日志文件.描述:alog命令读取标准输入,并写至标准输出,然后将输出复制到固定大小的文件,此文件当作是一个循环的日志,如果此文件满了,新的条目覆盖旧的现有条目.alog命令处理在命令行指定的日志文件或alog配置数据库中定义的日志.参数:-c 更改指定logtype的属性-f Logfile 指定日志文件的名称-o 列出Logfile的内容,将其内容按顺序写至标准输出-q 将标准输入写至logfile,但不写至标准输出-s size 指定以字节为单位的logfile大小限制-t LogT ype 标识在alog配置数据库中定义的日志示例:1.要记录名为sample.log的日志文件中的当前日期和时间,输入:date | alog -f /tmp/sample.log2.要列出/tmp/sample.log日志文件的内容,输入:alog -f /tmp/sample.log -o3.要将名为/tmp/sample.log的日志文件的大小更改为8192字节,输入:echo "resizing log file" | alog -f /tmp/sample.log -s 81924.要将新的日志类型sample添加至alog配置数据库,请以下列格式创建alog.add文件: SWservAt:attribute="alog_type"deflt="sample"value="sample"SWservAt:attribute="sample_logname"deflt="/tmp/sample.log"value="/tmp/sample.log"SWservAt:attribute="sample_logsize"deflt="4096"value="4096"SWservAt:attribute="sample_logverb"deflt="1"value="1"在创建了alog.add文件后,输入:odmadd alog.add:这将alog.add文件添加至SWservAt数据库.5.要在alog配置数据库中将日志类型sample的日志文件的名称更改为/var/sample.log,输入:alog -C -t sample -f /var/sample.logMpcfg用途:管理远程维护服务信息描述:Mpcfg使具有root权限的用户能够管理由服务支持和诊断标志(-S和-f标志),调制解调器和站点配置(-m标志)以及远程支持电话号码(-p标志)构成的服务信息.注:一般不使用mpcfg命令而是通过diag命令.示例:1.要显示调制解调器和站点配置,输入:Mpcfg –d m2.要给一个远程支持电话指定新的值22114433,输入:mpcfg -c -p 1 221144333.要把服务信息保存在/etc/lpp/diagnostics/data/bump文件中,输入:mpcfg -s4.要从/etc/lpp/diagnostics/data/bump文件中把服务信息恢复到NVRAM,输入: mpcfg -rConfigassist用途:显示配置助手向导描述:配置助手向导在安装操作系统后自动显示,并用来帮助完成配置任务.可配置一个安装了http服务器以在浏览器上运行基于Web的系统管理器的系统Docsearch用途:启动”文档库服务”库函数描述:docsearch命令在浏览器窗口启动”文档库服务”库应用程序,这个全局库显示了在文档服务器上以服务注册的所有文档卷/集,必须安装”文档搜索服务”软件包的客户端或服务器端部分以启动该命令.示例:1.用德文(local=de_DE)打开全局库,只列举安装在系统上的全部德文文档,输入: docsearch -lang de_DEInstallp用途:在一个兼容的安装软件包里安装可用的软件产品描述:installp命令安装并更新软件,只有root用户可运行此命令.参数:-a 应用一个或多个软件产品或更新,与-c一起用来应用和提交一个软件产品更新.-v 验证在文件集中所有安装的文件在安装后有正确的校验和的值.-V Number 为预安装输出指定的提供四个详细信息级别的详细选型-X 试图扩展任何没有足够的空间来进行安装的文件系统.-r 拒绝所有指定的当前已应用但还未提交的软件更新.-d Device 指定在何处能找到安装介质-B 表示请求的操作应被限制到软件更新-c 提交所有指定的当前应用但没提交的更新-C 在一个中断安装后执行清除并尝试除去所有先前安装的未完成部分-p 通过为指定操作运行所有预安装检查-f list file 从listfile读取软件产品的名称-g 当用来安装或提交时,此标志分别自动安装或提交任何是指定软件产品必需的软件产品或更新-u 从系统中除去指定的软件产品和任何安装的更新示例:1.要列出所有包含在安装盒带上的软件产品和可安装的选项,输入:installp -L -d /dev/rmt0.12.要列出所有在安装盒带上由所有软件产品修正的用户报告的问题,输入:installp -A -d /dev/rmt0.1 all3.要为tcp/ip软件产品安装(仅应用)包含在软盘中特定的更新,输入:installp -a .tcp.client 4.1.0.2 .tcp.server 4.1.0.14.要除去名为.tcp.server的文件集,输入:installp -u .tcp.server5.要列出可在基于power的机器上安装的软件产品(位于/usr/sys/inst.images),输入: installp -l -MR -d /usr/sys/inst.imagesLslpp用途:列出安装的软件产品描述:此命令显示关于已安装文件集或文件集更新的信息参数:示例:1.要列出所有文件集bos.rte中已安装文件集的多数新近级别的安装状态,输入:lslpp -l "bos.rte.*"2.要列出文件集bos.rte.filesystem的基级别和更新的安装状态,输入:lslpp -La bos.rte.filesystem3.要列出bos,net软件包中所有文件集的历史记录信息,输入:lslpp -ha ’.*’4.要列出文件集bos.rte.lvm中的所有文件的名称,输入:lslpp -f bos.rte.lvm5.要列出拥有installp的文件集,输入:lslpp -w /usr/sbin/installp6.要显示库存数据库中的所有文件,输入:lslpp -w7.要显示RPM cdrecord映象的安装状态,输入:lslpp -L cdrecordInstfix用途:安装与关键字或修正相关的文件集描述:instfix命令容许安装一个或一套补丁而不用知道任何信息,除了标识该补丁的”授权程序分析报告(APAR)”号或其他唯一关键字,也可以用来确定是否要在系统中安装补丁.参数:示例:1.要从安装在/dev/rmt0.1的磁带上安装所有与IX38794相关的文件集,输入:instfix -k IX38794 -d /dev/rmt0.12.要在磁带驱动器中的介质上安装所有补丁,输入:instfix -T -d /dev/rmt0.1 | instfix -d /dev/rmt0.1 -f3.要在包含scsi字符串的磁带上列出所有关键字的项,输入instfix -s SCSI -d /dev/rmt0.14.要通知用户是否安装了IX38794和IX38523,输入″″instfix -i -k IX38794 IX485235.要为在/bffs目录下的bffs创建一个与补丁IX12345相关的文件集列表时,输入instfix -p -k IX12345 -d /bffs | installp -acgX -f- -d /bffs6.要列出所有不限制在基于power的平台上的补丁,输入instfix -T -MN -d /dev/cd07. T o list fixes that are on a CD-ROM in /dev/cd0, enter the command:# instfix -T -d /dev/cd0IY737488. T o determine if APAR IX75893 is installed on the system, enter the command:# instfix -ik IY73748Not all filesets for IY73748 were found.Bffcreate用途:以备份格式创建安装映象文件描述:此命令以备份格式(bff)创建安装映象文件来支持软件安装操作,从指定安装介质上的安装映象文件创建映象文件.示例:1.要从/devrmt0磁带机中磁带上的软件包创建安装映象文件并将/var/tmp用作工作的目录,输入:bffcreate -d /dev/rmt0.1 -w /var/tmp 2.要从/dev/rfd0软盘中package软件包创建安装映象文件并无需提示就打印安装映象文件名称,输入:bffcreate -q –v package3.要从/dev/cd0中cd上的.tcp.client软件包创建单一更新映象文件,输入: bffcreate –d /dev/cd0 .tcp.client4.2.2.14.要列出/dev/cd0中cd上的软件包,输入bffcreate –l -d /dev/cd0Inutoc用途:给包含备份格式文件安装映象的目录创建一个.toc文件,这个命令由intallp命令和安装脚本来使用描述:此命令在Directory下创建.toc文件,如果.toc已经存在,它将带着新信息重新创建,缺省的安装映象Directory时/usr/sys/inst.images.示例:1.要给/usr/sys/inst.images目录创建.toc文件,输入inutoc2.要给/tmp/images目录创建一个.toc文件.输入inutoc /tmp/imagesLppchk用途:验证一个可安装软件产品的文件描述:此命令验证在文件大小,校验和值或符号链接方面,可安装软件产品(文件集)的文件是否符合软件重要产品数据(SWVPD)数据库信息,文件集是软件包的一个单独可安装选项.参数:返回值:如果没有发现错误lppchk命令返回零,任何其他返回值表示某个找到的错误示例:1.要验证组成X11.fnt软件包的所有文件,输入lppchk -c X11.fnt2.要验证名称以X11为开头的所有软件产品的符号链接,输入lppchk -c X11.fnt3.要验证所有的文件集已具有所有要求的必要条件并且已完全安装,输入lppchk -vGeninstall用途:通用安装程序,用于安装多种打包格式的软件产品,如:installp,RPM,ISMP描述:接受当前所有的installp标志,并把它们传到installp上去,一个geninstall命令的安装活动摘要保存在/var/adm/sw/geninstall.summary中,参数:示例:1.安装在驱动器cd0中的cd介质的所有产品,输入:geninstall -d /dev/cd0 allSysdumpdev用途:更改运行系统中的主要或辅助转储设备指派描述:在系统配置对象中指派主要和辅助转储设备,新的设备指派直到sysdumpdev命令重新运行或系统重新启动时才有效参数:-d Directory 指定系统引导时转储所复制到的目录-e 估计当前运行的系统的转储大小(以字节表示)-i 表示从系统函数调用sysdumpdev命令,只有系统实用程序才使用该标志-P 使-p或-s标志指定的转储设备成为永久设备-p Device 暂时将主要转储设备更改为指定的设备-l 列出主要和辅助转储设备,复制目录和forcecopy属性的当前值-L 显示最近的系统转储的统计信息示例:1.要显示当前的转储设备设置,输入Sysdumpdev –l2.要将逻辑卷hd7指派位主要转储设备,输入Sysdumpdev –p /dev/hd73.要永久的将主要转储设备的数据库对象更改到/dev/newdisk1,输入sysdumpdev -P -p /dev/newdisk14.要指定系统崩溃或转储要复制到其上的目录(如果转储设备时/dev/hd6),输入: sysdumpdev -d /tmp/dumpMksysb用途:在文件或可引导磁带上创建root卷组的可安装映象描述:此命令创建操作系统的备份(root卷组),如系统破坏,可以使用此备份来重新安装系统到它的原始状态,如在磁带上创建备份,磁带是可引导的并且包含从备份安装所需的安装程序.文件系统映象是备份文件格式参数:-i 调用生成/image.data文件的mkszfile命令,/image.data文件包括卷组,逻辑卷,文件系统,调页空间和物理卷信息,这些信息包含在备份中以备将来安装进程使用,在运行mkszfile 之前,确保/tmp文件可获得足够的空间来存储引导映象-e 从正在备份的文件中排除在/etc/exclude.rootvg文件列出的文件,其规则遵循grep模式匹配规则-m 调用mkszfile命令,使用-m生成映射文件,并导致也将执行-i标志的功能-p 备份文件的时候,禁用文件的软件打包,一些磁带机使用自己的打包或压缩算法-v 详细方式,备份的时候列出文件-V 验证磁带备份,该标志引起mksysb来验证备份磁带的每个文件的文件头并报告任何发生的读错误.示例:1.生成系统备份并且向名为/dev/rmt0的磁带设备创建/image.data文件(由mkszfile命令生成),输入:mksysb -i /dev/rmt02.要生成备份和创建/image.data文件,此文件带有映象文件到名为/dev/rmt1的磁带,输入: mksysb -m /dev/rmt13.要生成带有新文件/image.data的系统备份,但是排除/home/user1/tmp目录下的文件,创建包含行/home/user1/tmp的文件/etc/exclude.rootvg,输入:mksysb -i -e /dev/rmt1 此命令将备份/home/user1/tmp目录但不备份它所包含的文件4.要生成名为/mksysb_images/node1的系统备份文件和为该映象的新文件/image.data,输入:mksysb -i /userimage/node1此文件不可引导并且只能使用”NIM安装”5.在/dev/rmt0的磁带上生成系统备份文件,然后验证文件头的可读性,输入:mksysb /dev/rmt0 -VBackup用途:备份文件和文件系统描述:此命令在备份介质上创建文件的副本,有两种副本格式:-使用-i标志按名称来备份的特定文件-使用level和 filesystem参数按内节点来备份的整个文件系统,缺省的备份设备是/ dev/rfd0.参数:-f Device 指定输出设备,比如/dev/rmt0-i 指定文件从标准输入读取并按文件名归档-q 指明可移动介质已准备就绪-o 按名称创建可与V2兼容的备份-v 使backup显示有关备份的附加信息-u 用文件系统的原始设备名称和时间,日期以及备份的级别来更新/etc/dumpdates文件,如果要进行增量备份,则必须指定-u,且-u仅适用于按内节点进行的备份,在按内节点备份文件系统之前,首先必须卸装他.示例:1.要使用全路径名备份/home目录中所有的文件和目录,输入:find /home -print | backup -i -f /dev/rmt0-i标志指定文件将从标准输入读取并按文件名称归档-f标志指示backup将文件写至/dev/rmt02.要使用相对路径名备份/home/mike目录中的所有文件和子目录,输入:cd /homefind . -print | backup -i -v –q-v使backup显示有关备份的附加信息3.要备份/根文件系统,输入:backup -0 -u -f /dev/rmt0 /0级别指定备份/(根)文件系统中的所有文件,-u使backup为此次备份更新/etcdumpdates文件4.要备份/(根)文件系统中自从最后一次级别0备份以来修改过的所有文件,输入:backup -1 -u -f /dev/rmt0 / 如果/etc/dumpdates文件不具有/(根)系统的级别0的备份的条目,则备份该文件系统中的所有文件.Restore用途:从backup命令创建的归档中抽取文件描述:这些归档可以是文件名或文件系统格式,文件必须使用归档时所用的相同方法来恢复.参数:-d 如果File参数是一个目录,指定在那个目录中的所有文件都必须被恢复-f Device 指定输入设备,为了从一个指定的设备接收输入,指定Device变量为路径(如:/dev/rmt0).-q 指定准备使用第一个卷,restore不会提醒您安装卷并按下enter键-r 在文件系统归档中恢复所有的文件-s SeekBackup 指定要寻找的备份在多备份磁带归档上恢复-T 显示关于备份归档的信息-v 当恢复时显示附加的信息-x 恢复由file参数指定的单个的命名文件示例:1.列出/dev/rfd0设备上文件名或文件系统归档中的文件名,输入:restore -Tq2.恢复特定的文件,输入:restore -xvqf myhome.bkup system.data此命令从归档myhome.bkup中抽取文件system.data到当前目录,此例应用于文件名和文件系统归档中.3.从文件名归档恢复特定目录和该目录中的内容,输入:restore -xdvqf /dev/rmt0 /home/mike/tools4.为了从文件系统归档中恢复特定的目录和目录的内容,输入:restore -xvqf /dev/rmt0 /home/mike/tools 此命令根据文件名抽取文件5.恢复整个文件系统归档,输入:restore -rvqf /dev/rmt0 此命令恢复磁带上的整个文件系统,/dev/rmt0到当前的目录中6.为了从单卷,多备份磁带中恢复第五和第九个备份restore -xvqs 5 -f/dev/rmt0.1restore -xvqs 4 -f/dev/rmt0.1Savevg用途:查找和备份属于指定卷组的所有文件参数:-e 将/etc/exclude.vgname文件中指定的文件排除在外,这样此命令所做的备份将不包含这些文件描述:卷组必须联机且必须安装文件系统,savevg命令使用由mkvgdata命令创建的数据文件.示例:1.要将根卷组(操作系统映象)备份到/mysys/myvg/myroot备份文件中并创建/image.data文件,输入:savevg -i -f/mysys/myvg/myroot rootvg2.要将uservg卷组备份到缺省磁带(dev/rmt0)并创建新的uservg.data文件,输入: savevg -i uservg3.要备份data2卷组并在rmt1设备中创建映射文件和新的data2.data,输入:savevg -mf/dev/rmt1 data24.要备份data2卷组,排除/etc/exclude.data2中所列文件,输入:savevg -ief/dev/rmt1 data25.要将卷组my_vg备份到/dev/rmt0磁带并验证文件头的可读性,输入:savevg -f /dev/rmt0 -V my_vgRestvg用途:恢复用户卷组和它所有的容器于文件描述:正如/tmp/vgdata/vgname/vgname.data 文件中指定的那样(vgname是卷组名),该文件包含在savevg命令创建的备份映象中.示例:1.从/dev/rmt1设备恢复卷组映象到hdisk2和hdisk3磁盘,输入:。

AIX命令集锦一 (设备管理命令)

AIX命令集锦一 (设备管理命令)

AIX命令集锦一(设备管理命令)一、设备管理命令1.1、AIX系统中设备的分层及分类aix操作系统将设备划分为三个层次:顶层:功能分类,就是按设备的基本功能分组,表示设备能做什么,如所有适配器属于adapter类,所有打印机属于printer功能分类,所有的总线都属于bus功能分类,所有的磁带机都属于tape功能分类第二层:功能子类,就是按某一具体的性质来划分,表示设备以什么方式连接到系统上,如ISA(isa_sio功能子类)标准输入/输出适配器或PCI(pci功能子类)适配器是adapter功能分类的功能子类,打印机又分为串行(rs232)和并行接口(parallel)第三层:是设备类型:是按照型号和制造商来分类计算机系统中的设备分类物理设备与逻辑设备的区分:具体的硬件就是物理设备,而这些设备在系统中的名称就是逻辑设备,应用程序就是通过逻辑设备来操作物理设备的,逻辑设备常常表现为设备文件,存放在/dev目录下,用户通过设备文件来访问设备,但对实际设备的读写操作则是由设备驱动程序来完成的unix系统中的设备按读写方式分类:块设备(block device):是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或从设备中一次性读出放入到缓冲区,如磁盘和文件系统等字符设备(Character device):这是一个顺序的数据流设备,对这种设备的读写是按字符进行的,而且这些字符是连续地形成一个数据流。

他不具备缓冲区,所以对这种设备的读写是实时的,如终端、磁带机等。

大多的块设备都对应一个等价的字符设备,如/dev/fd0块设备对应的字符设备为:/dev/rfd0ls -l /dev在文件权限显示中,第一个字符是b的表示是块设备文件,是c的表示是字符设备文件其中第5列是设备的标志,由主设备号和次设备号组成,主设备号标志着设备的类型,(主要定位哪个设备驱动程序来处理该类设备发出的请求)次设备号标志着某一个具体的物理设备,(主要是由相应的设备驱动程序解释)设备的状态:未定义(undefined),已定义(defined), 可用的(available),停用的(stopped)RS/6000和pseries服务器的机器类型显示RS/6000家族中有4种机器类型:rs6k微通道单处理器类型,rs6ksmp微通道多处理器类型,rspc ISA总线类型,chrp PCI总线类型可以通过bootinfo -p来显示机器类型设备位置编号(location code)AIX系统的位置编号格式按是否是SCSI设备分为两种:SCSI设备位置编号,非SCSI设备位置编号非SCSI设备位置编号格式为:AB-CD-EF-GHSCSI设备位置编号格式为:AB-CD-EF-G,H其中非SCSI和SCSI设备位置编号中的AB-CD-EF表示的意义是一样的AB表示总线类型/系统主板、CPU板卡CD表示适配器、插槽EF表示连接器非SCSI的GH表示一个端口、地址、DIMM和FRU等,他有多个含义,与所连接的设备类型有关1.2、显示设备列表及设备属性命令lsdev -C 显示用户定义设备数据库中的所有设备lsdev -C -H 显示用户定义设备数据库中的所有设备并带上标题lsdev -P 显示预定义设备数据库中的所有设备lsdev -P -H 显示预定义设备数据库中的所有设备并带上标题lsdev -C -c adapter -S a -H 显示用户定义设备数据库中处于可用状态的适配器(adapter)lsdev -P -r class 显示系统所支持的功能分类lsdev -P -c tape 显示系统所支持的磁带设备lsdev -P -c disk -r subclass 显示系统所支持的磁盘设备的子类(即接口类型)lsdev -C -H -S a -F "name class subclass type description" 显示系统中状态为可用的所有设备,并按照-F后面的格式输出信息lsdev -h 显示lsdev的语法格式lsattr -D -l 设备名-H 显示设备属性的默认值-D表示显示默认值-l 后接设备名-H表示显示标题lsattr -E -l 设备名-H 显示设备属性的当前有效值-E表示显示当前值lsattr -D -l 设备名-a 设备的一个属性-H 显示设备的某一个属性的默认值,-a 表示设备的某一个属性lsattr -E -l sys0 -H 显示系统属性的当前有效值lsattr -D -c printer -s parallel -t opp -H 显示printer功能分类、parallel功能子类和opp类型属性的默认值lsattr -R -c printer -s parallel -t opp -a line -H 显示型号为opp并行打印机line属性的可能值,-R 表示某一属性的可能值lsattr -R -l scsi0 -a id 显示scsi0设备id属性的可能值(也叫范围值)lsattr -E -l hdisk0 -H 显示硬盘设备hdisk0的属性当前值lsattr -E -H -l proc0 显示一个处理器的详细情况lsattr -h 显示lsattr的语法格式1.3、显示设备配置命令lscfg命令可以显示系统中的配置情况、诊断信息、和重要产品数据(VPD)信息lscfg 显示逻辑设备sys0的所有子设备的用户定义重要产品数据,包括设备的名称,位置编号,描述等lscfg -vp 显示用户定义设备数据库中所有物理设备的重要产品数据/信息-v 表示显示用户定义设备的重要产品数据(VPD)lscfg -l hdisk1 -v 显示逻辑设备的重要产品数据/信息lscfg -p -l proc0 显示处理器的产品数据/信息-p表示显示平台的具体设备信息lscfg -pvl sysplanar0 显示主板的产品数据/信息lscfg -h 显示lscfg的语法格式smit 显示设备及配置可以用smit lsdev 或者smit lsattrprtconf 显示系统配置信息prtconf -k 显示当前操作系统的内核位数prtconf -m 显示内存的大小prtconf -s 显示处理器时钟的速度lsconf命令的参数跟prtconf参数一样,主要用于linux中pmcycles命令返回机器的CPU主频,显示多个CPU的主频的命令为:pmcycles -m1.4、cfgmgr命令cfgmgr命令简介:当系统引导时,系统会调用cfgmgr命令配置所有的设备,同时该命令也可以选择性地安装设备的驱动程序。

AIX下proftpd的安装及配置

AIX下proftpd的安装及配置

AIX自带的ftpd 控制功能很弱,proftpd是长期以来传统上AIX全功能FTP服务器的标准选择1. 测试环境◆服务器:IBM 7043-150(俗称43P150)∙ ∙●CPU:PowerPC_604e 375MHz,1个∙ ∙●内存:512MB∙ ∙●AIX 5.3◆proftpd:∙ ∙●来源:AIX Toolbox for Linux∙ ∙●版本:1.2.82. 文件集准备及安装2.1. 文件集准备准备好如下两个文件集:◆coreutils-5.2.1-2.aix5.1.ppc.rpm◆proftpd-1.2.8-1.aix5.1.ppc.rpm获取来源可以有两种选择:◆AIX Toolbox for Linux光盘;◆AIX Toolbox for Linux按字排序的各文件集下载:/servers/aix/products/aixos/linux/download.html2.2. 安装◆安装以root身份进行;◆建立一个目录,将两个文件集复制到其中,此目录中不要有其他文件集;◆切换当前目录到此目录;◆执行:geninstall -I "a -cgNQqwXY -J" -Z -d .3. 配置、检查和inetd模式3.1. 配置以下配置修改目的主要是让配置结果尽量符合缺省AIX FTP的效果,解除了一些限制,请视您的需要决定各修改项目采用与否。

3.1.1. 修改/etc/proftpd.conf其他设置项目请参考官方文档:/docs/directives/linked/by-name.html3.1.2. 修改/etc/ftpusersproftpd安装时将自动生成/etc/ftpusers,把系统所有的用户都写入了这个文件,导致任何用户不能使用FTP。

将此文件改名。

3.2. 检查◆执行proftpd -t检查/etc/proftpd.conf文件语法是否有误◆停止AIX缺省的FTP服务:stopsrc -t ftp◆执行proftpd -n -d9,使proftpd以前台诊断模式运行◆另开一个登录窗口,执行ftp localhost,并下载一个小文件进行测试◆如果有问题请按照proftpd前台屏幕显示或/etc/proftpd.conf中定义的日志文件内容进行问题排除◆完成后在protfpd前台窗口中按Ctrl+C关闭proftpd服务3.3. 将proftpd配置为inetd模式为避免操作中的麻烦,请勿采用网上其他文章一般使用的直接编辑inetd.conf的方式,而用smit来进行◆启动AIX缺省FTP:startsrc -t ftp,这一步的目的是让下述修改中能出现FTP项目,否则FTP项目将不出现无法修改◆执行smitty chinetdconf,选择ftp项目◆将Service Program PATH Name内容由/usr/sbin/ftpd改为/usr/sbin/proftpd◆将Service Program Command Line ARGUMENTS内容由ftpd改为proftpd,如果你希望日志中有尽量多的细节供查看FTP操作历史或进行错误诊断,请修改为:-nd9 proftpd◆修改/etc/proftpd.conf,将ServerType从standalone修改为inetd◆重启FTP服务:stopsrc -t ftp; startsrc -t ftp◆执行ftp localhost,并下载一个小文件进行测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简介 AIX 读取 profile 的机制在我们的工作中,经常会重复的敲击和记忆一样的命令,特别是那些冗长的路径。

如果我们了解了 AIX 读取 profile 的机制,我们就可以提前设置我们的工作环境,给我们的日常工作带来极大的便利,提高我们的工作效率。

首先,我们要了解 shell 在登录的过程中是如何读取环境变量的。

这样,我们可以在读取环境变量之前,设置我们想要的工作环境,让我们在工作中的效率更高。

不需要每时每刻都要去记忆敲击一大堆带有冗长路径的命令。

好吧,就让我们开始吧。

在 AIX 系统启动以后,如果我们登录系统并且登录用户的默认 shell 是 Korn Shell 的话,shell 会读取以前设置的初始化文件来设置登录用户的环境。

用户环境的定义是通过设置环境变量来实现的。

当登录操作系统时,shell 先执行/etc/environment,后执行 /etc/profile 的。

/etc/environment 是设置整个系统的环境,而 /etc/profile 是设置所有用户的环境,/etc/environment 与登录用户无关,/etc/profile 与用户相关。

登录时,这两个文件运行完毕后 , 系统会接着检查在登录用户的 home 目录下是否有 .profile 文件,如果“.profile” 文件存在 , 就执行它。

“.profile”文件还会指出是否还有一个环境文件。

如果有环境文件 (.env 或者 .kshrc) 存在 , 系统会运行这个文件 , 并设置登录用户的环境。

注意:“/etc/environment”,“/etc/profile”,“.profile”是在登录时执行一次。

“.env”文件是我们每次打开一个新的终端的时候都会执行的。

介绍 profile 的组成接下来,我们来了解一下 profile 相关文件的具体信息。

/etc/profile用户在登录时 ,AIX 定制用户环境时使用的第一个文件就是 /etc/profile。

这个文件保存着全系统范围内的缺省变量,比如 Export 变量 , 文件创建的掩码 , 终端类型等。

Root 用户为所有用户配置“.profile”文件 , 只有 Root 可以更改这个文件。

/etc/environment在登录时 AIX 使用的第二个文件是 /etc/environment。

/etc/environment 文件包含所有进程的基本环境变量。

下面是构成基本环境的变量 :HOME: 用户登录的或 HOME 全路径 , 登录程序从 /etc/passwd 文件中读取并设置它。

LANG:语言环境NLSPATH:消息目录的全路径。

LOCPATH:国际语言支持系统表格的全路径PATH:搜寻命令的目录TZ:时区信息,IBM 到现在还得用 TAIST ——台北时区.profileAIX 在登录时用到的第三个文件是 .profile 文件。

.profile 文件位于用户的 home 目录 , 它允许用户定制自己的个人的工作环境。

大多数情况下,我们都需要使用这个文件来定制自己的工作环境。

在 LOGNAME 和 HOME 变量被加入到环境中后 ,$HOME/.profile 文件中的内容就会被执行。

“.profile”文件中含有你个人的设置,如果和 /etc/profile 中的设置相冲突,就会覆盖 /etc/profile 文件中的相矛盾的变量。

.env如果你在 .profile 文件中有如下内容 :ENV=$HOME/.env, AIX 在用户登录时使用的第四个文件是“.env”文件。

“.env”文件中含有你个人的设置,如果和 /etc/profile 中的设置相冲突,就会覆盖 /etc/profile 文件中的相矛盾的变量。

注意:∙$HOME/.env 文件名可以任意 , 但在 $HOME/.profile 中要有相应的声明:export ENV=$HOME/.envName∙$HOME/.env 文件每当一个子 shell 被开启都会被执行 , 所以可以在这里定义在 vi 中开启的子 shell 中也可以使用的别名。

∙这四个定制环境的文件中 ,/etc/environment 文件中只能给变量赋值 , 而其它三个文件可以使用语句。

回页首举例,通过实例讲述如何修改 profile 来实现下列功能下面我们通过实际的事例来体会一下如何给我们的工作带来便利吧。

通过使用 ARROW Keys 如何重新取得历史命令很多时候我们希望在 AIX 下,按下 ARROW Keys(就是小键盘上的上下左右键), 可以让我们重新取得留在历史列表中的命令,就想我们在 Linux 系统里面习惯的那样。

但是 AIX 在默认状态下,并不是那么友好。

我们只好自己动手,丰衣足食了。

哈哈!按照下面的步骤做,我们马上开始吧。

1) 在 ~/.profile 里面加入下面的代码export ENV=$HOME/.kshrc2) 在 ~/.kshrc 加入下面的代码case $- in*i*) #interactive ksh# This stuff lets the arrow keys work in an xterm...set -o emacs # set editing-mode as emacsalias __A=`echo "\020"` # set up arrow keyalias __B=`echo "\016"` # set down arrow keyalias __C=`echo "\006"` # set right arrow keyalias __D=`echo "\002"` # set left arrow keyesacalias ls='ls -F'让我们在看看 .kshrc 文件。

图 1 .kshrc 文件再次登录 AIX,按下 ARROW Keys(就是小键盘上的上下左右键)。

看,我们熟悉的功能回来了。

如何简化 PATH在我们的工作中,很多时候许多命令是很难于记忆的。

这时,我们可以使用 alias 这个概念。

通过使用 alias 这个命令,我们可以给一个复杂冗长的命令取一个言简意赅的名字。

首先,我们先来看看 alias 的官方帮助。

alias 命令创建或重定义别名定义或将现有别名定义写至标准输出。

如果未提供标志或参数,则将所有现有别名定义写至标准输出。

可以通过使用AliasName 参数来显示特定的别名定义。

通过使用 AliasName=String 参数对来创建新的别名。

当 shell 在命令行上或shell 脚本中碰到别名时,它替换此字符串提供的定义。

String 变量可以包含任何有效的 shell 文本。

如果此字符串包含空格,请将 String 变量的值括在单引号内。

如果 AliasName 参数不是一个有效的名称,则 alias 命令显示一条错误消息。

如果指定 -t 标志,则 shell 显示被跟踪的别名。

一个被跟踪的命令使用该命令的完整路径名称。

当重新设置 PATH 环境变量的值时,被跟踪的命令可能变成未定义,但用 -t 标志创建的别名仍旧被跟踪。

如果指定 -x 标志,shell 显示导出的别名。

导出的别名在所有 shell 中都是活动的。

别名定义影响当前 shell 环境和任何子 shell 的执行环境。

别名定义不影响当前 shell 的父进程或 shell 调用的任何实用程序环境。

标志-t 设置或显示所有现有被跟踪的别名。

如果此标志和 AliasName 参数一起使用,则跟踪新的别名且别名定义包含通过进行路径搜索而获得的完整路径名称。

当重新设置 PATH 环境变量的值时,别名定义变成未定义但仍旧被跟踪。

-x 显示所有现有的导出的别名定义。

如果此标志和 AliasName 参数一起使用,则导出新的别名。

导出的别名不在 shell 的单独的调用间定义。

必须将别名定义置于您的环境文件中以使别名对于单独的 shell 调用都是已经定义的。

退出状态返回以下出口值:0 成功完成。

>0 指定的别名名称之一不具有别名定义或发生错误。

下面我们来看看实际的例子。

先看看在 AIX 里面显示系统日志的命令。

看到“errpt -a | /usr/lpp/diagnostics/bin/analyzelogs - v d”这个命令了吧,很长,很不容易记忆。

这个命令是从 AIX 的 error log 中找出我们感兴趣的错误信息并打印出来。

图 2. errpt 示例看来,我们要求助 alias 来为这个冗长的命令起一个名字了。

图 3. alias 示例接下来就是见证 alias 能力的时刻了,呵呵。

看,我们只要敲下“analyzelog”这个别名,就可以看到和上面那个冗长命令一样的输出结果。

图 4. alias 结果如何加入 CLASSPATH,如何加入系统环境变量如果我们要在 AIX 下进行 Java 程序编写,势必要导入许多 CLASSPATH。

我们可以使用 export 来导入 CLASSPATH 环境变量。

在 home 目录的 .profile 中加入下面这一行:export CLASSPATH = ... : ...注意:各个 path 之间需要使用“:”号来分割。

最后,如果我们想要加入系统环境变量,可以直接编辑 /etc/profile 或者/etc/environment 文件来实现。

但是,切记要谨慎。

因为这 2 个文件是所有用户共享的,改变后会应用到所有用户的环境中。

相关文档
最新文档