1、众多的unix类操作系统就像个迷宫。这些天做巡检,aix、hpux、solaris、RedHat、Suselinux、true64、SCO
unix,全部要做,整个就是一项万里长征。每种系统的管理命令都各不相同,输出格式也是千奇百怪,就算有相同的命令,使用的选项也不一样,得到的输出也不一样,更苦B的
是我还要为这200多台乱七八糟的设备分析日志,写报告。你们这是要闹那样阿?
2、众多的shell版本,每个shell的使用方式都各不相同,包括其中的内嵌命令和脚本命令也是千奇百怪。在posix
shell中写的shell脚本,拿到bash下就是各种问题,更别说什么ksh、csh、tclsh、zsh等等了。不同shell的终端参数也是各不相同,如果我需要
经常在几个系统上进行操作的话,我就得不断告诉自己,这个系统用的是什么shell,它的使用方法是什么。光记住那些让人无语的命令都够烦人的了,竟然还要记住这些。开发
shell的那哥们估计没想到他为shell设计的可扩展和移植性导致的是现在这种状况吧!
3、正则表达式和文件通配符,这两个东西不知道花了大家多少时间去学习,又给大家造成了多少麻烦。文件被误删,过滤的信息不是想要的,而且这些东西相互组合起来以后就更让
人搞不清楚它到底是什么意思了,更不知道他到底会出现什么样的结果。这样的命令你敢敲吗?
别告诉我它功能强大,能完成什么什么样的工作,我只看到了他花费了我们管理员如此多的心血,学来的东西用起来却还是个未知数,为了分析一个正则表达式,我们不但需要对他们
各自含义的超详细了解,还要对他们之间的关系有很深刻的认识,因为如果不够深刻,它们就可能会ba工,还可能给你造成大麻烦。而且不同的shell支持的正则表达式和文件
名通配符还各不相同,怎么样,傻眼了吧!
4、不规范的man帮助手册,在unix系统里,不同的模块之间使用一些简单的接口来通信。有人说这些接口很简洁,但是你别忘了,简单的另一个方面就是不负责任。很多工作
能不做就不做,遇到的bug能避开就避开,很多错误能不报就不报除非迫不得已,这完全是个态度问题。因为unix从一开始就在一错在错,现在这栋摩天大楼打满了补丁,而且
也住满了“人”,想再修好它就只能炸掉重建了,可是如果炸掉了,这些“住户”怎么办呢?所谓的man手册说白了也就是前辈们留下的bug提示。很多man手册中就一条简单
的usage,让人根本不知所云,还有的man手册说了半天也没说明白这玩意儿到底是个什么用法,看的人火大,更不要说各个系统之间不同的man手册风格了,这你也只能忍
了。
5、简单的东西复杂化。我有时候很疑惑,为什么unix系统里有那么多的命令,而我们只能用到一丁点儿呢,而且这些命令中有着众多的相似命令,也就是作用基本相同,比如:
more,less,pg。在我看来他们根本就没有什么区别,都是用来分页显示的,只用more就足够了,为什么还要费劲心思的写出less和pg呢,而且这三条命令有着
超级多的参数和交互命令,而99%的人对此根本一无所知,100%的人根本就用不到这些玩意儿。这根本就是在降低效率,浪费时间。ls更是如此,一个简单的ls竟然有18
个参数,而我们能用到5~6个也就已经很了不起了。其它的例子还很多。
6、这里要单独的提出一个命令来,他就是众所周知的find,你可以man一下find,会看到超级多的参数,各种各样,而大部分的人根本不知道这是怎么用的。也许你要跟
我说find支持正则表达式和文件名通配,可以和其它命令组合使用,如果接管道和重定向就更强大了。但是你要搞清楚,越复杂的东西就越容易出错。且不说正则表达式和文件名
通配符里的种种bug,光是想想该怎么写出这样一个命令来查找自己需要的文件都是个大挑战,更别说能不能找得到了,经验是大部分情况下他都没法按我们的想法工作。更为可恶
的是所有的unix like
操作系统中貌似只有这么一条查找命令,而且效率低下,更是占用系统资源,如果你运行find,你就会发现top中的第一条进程铁定是它。我感觉他还没有windows下的
搜索来的快呢。
阅读(1958) | 评论(0) | 转发(0) |