AIX是IBM公司开发的业界领先的优秀商务Unix操作系统,在可靠性、可用性、开放性、扩展性、高性能、安全性等方面都非常突出,尤其是在Internet的关键应用领域以及系统和硬件管理能力方面,其性能表现更为出色,受到了业界的普遍认可和广泛使用。以下是笔者几年来使用AIX系统的一点心得,兹供使用该系统的其他读者参考。
1.如何禁止终端上的中断键(CTRL+C)?
在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法:
(1)如果使用ksh,可在$HOME/.profile中第一行加入如下内容:
trap "echo 'Abnormal operation'; exit" 123915
(2)如果使用csh(ksh亦可),可用如下命令:
%stty intr ^!
如果恢复正常情况,键入下列命令:
% stty intr ^c
2.如何在shell中不回显(echo)字符?
在实际应用中,一般当我们在键盘上键入口令时不希望将其显示在屏幕上,为此可采用下面的两种办法:
•使用stty 命令:
stty -echo # do not display password
echo "Enter password: /c"
read PASSWD #get the password
stty echo # restore standard configuration
•使用echo命令:
设置保密属性:echo "/033[8m"
取消保密属性:echo "/033[m"
3.如何在某个目录及其所属子目录的所有文件中查找字符串?
在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):
(1)cat /dev/null > out
find ./ -name "*.cp" -exec grep "abc"{} >> out
(2)find ./ -name "*.cp" | xargs grep "abc" > out
推荐使用第二种方法,因其系统开销小、速度快。
4.如何对/etc/inittab文件中的一行进行注释?
我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个字符前插入字符":"。
5.如何转换DOS和AIX两种格式的文本文件?
如欲转换DOS和AIX两种格式的文本文件,有两种方法:
(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送,这里不再赘述。
(2)使用aix2dos或dos2aix命令:如将DOS格式的文本文件转换为AIX格式,可用命令A:dos2aix inputfile outfile,反之可用命令:aix2dos inputfile outfile,关于dos2aix和aix2dos命令的详细用法可参阅"dos2aix -h"和"aix2dos -h"。注意要使用这两个命令,必须首先安装文件集bos.pci。
6.如何解决某一PV上的VGDA与ODM库不一致的问题?
在系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:
redefinevg -d hdisk_name vg_name
该命令以指定PV上的LVM信息重新定义给定VG的ODM库。或:
synclvodm -P -v vgname
该命令同步或重建给定VG的ODM库和LVM信息。
7.如何设置用户的文件大小限制?
在AIX系统中,用户使用系统资源是有一定限制的。如用户缺省可创建或扩展的最大文件为1G(参见/etc/security/limits: fsize = 2097151, fsize_hard=fsize 512-bytes blocks)。如欲修改,可使用smit:
# smit chuser // 选择用户,修改下面两项:
Soft FILE size [4194302]
# (2G,可根据需要设定)
Hard FILE size [4194302]
# (2G, 可根据需要设定)
用该用户身份登录,使用"ulimit -f "和"ulimit -Hf"可分别显示其fsize、fsize_hard的大小。
8、如何按文件大小排序列出一个文件系统下的文件?
当监控某一文件系统的空间使用情况时,如果该文件系统剩余空间较少或已使用空间增长较快,则有必要排序列出该文件系统中所有大于某一给定字节数的文件,以便进一步维护管理。为此,可用如下命令:
# find [filesystem_name] -xdev -size +[512-bytes bloks] -ls | sort -r -n -k7
以上所有命令在AIX4.3.3下全部测试通过。
1.如何禁止终端上的中断键(CTRL+C)?
在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法:
(1)如果使用ksh,可在$HOME/.profile中第一行加入如下内容:
trap "echo 'Abnormal operation'; exit" 123915
(2)如果使用csh(ksh亦可),可用如下命令:
%stty intr ^!
如果恢复正常情况,键入下列命令:
% stty intr ^c
2.如何在shell中不回显(echo)字符?
在实际应用中,一般当我们在键盘上键入口令时不希望将其显示在屏幕上,为此可采用下面的两种办法:
•使用stty 命令:
stty -echo # do not display password
echo "Enter password: /c"
read PASSWD #get the password
stty echo # restore standard configuration
•使用echo命令:
设置保密属性:echo "/033[8m"
取消保密属性:echo "/033[m"
3.如何在某个目录及其所属子目录的所有文件中查找字符串?
在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):
(1)cat /dev/null > out
find ./ -name "*.cp" -exec grep "abc"{} >> out
(2)find ./ -name "*.cp" | xargs grep "abc" > out
推荐使用第二种方法,因其系统开销小、速度快。
4.如何对/etc/inittab文件中的一行进行注释?
我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个字符前插入字符":"。
5.如何转换DOS和AIX两种格式的文本文件?
如欲转换DOS和AIX两种格式的文本文件,有两种方法:
(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送,这里不再赘述。
(2)使用aix2dos或dos2aix命令:如将DOS格式的文本文件转换为AIX格式,可用命令A:dos2aix inputfile outfile,反之可用命令:aix2dos inputfile outfile,关于dos2aix和aix2dos命令的详细用法可参阅"dos2aix -h"和"aix2dos -h"。注意要使用这两个命令,必须首先安装文件集bos.pci。
6.如何解决某一PV上的VGDA与ODM库不一致的问题?
在系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:
redefinevg -d hdisk_name vg_name
该命令以指定PV上的LVM信息重新定义给定VG的ODM库。或:
synclvodm -P -v vgname
该命令同步或重建给定VG的ODM库和LVM信息。
7.如何设置用户的文件大小限制?
在AIX系统中,用户使用系统资源是有一定限制的。如用户缺省可创建或扩展的最大文件为1G(参见/etc/security/limits: fsize = 2097151, fsize_hard=fsize 512-bytes blocks)。如欲修改,可使用smit:
# smit chuser // 选择用户,修改下面两项:
Soft FILE size [4194302]
# (2G,可根据需要设定)
Hard FILE size [4194302]
# (2G, 可根据需要设定)
用该用户身份登录,使用"ulimit -f "和"ulimit -Hf"可分别显示其fsize、fsize_hard的大小。
8、如何按文件大小排序列出一个文件系统下的文件?
当监控某一文件系统的空间使用情况时,如果该文件系统剩余空间较少或已使用空间增长较快,则有必要排序列出该文件系统中所有大于某一给定字节数的文件,以便进一步维护管理。为此,可用如下命令:
# find [filesystem_name] -xdev -size +[512-bytes bloks] -ls | sort -r -n -k7
以上所有命令在AIX4.3.3下全部测试通过。