图形化操作系统在降低了学习成本和认知门槛,提高了可读性和可操作性的同时,也降低了操作系统的性能和操控的速度。不必对比Linux和windows,在windows上就有很好的例证:
你有没有尝试过,当在windows上想把多个超过1G的文件拷贝到U盘上时,使用cmd命令拷贝会比图形化操作要快得多的多,而且拷贝期间基本不影响你同时做别的事情。
Linux的命令行操作,可以高效精准地完成各项工作。同时,它也使得经常使用Linux的人输入速度和准确率更高,眼疾手快。
在实际工作中,需要用Linux完成的工作,虽然可以“曲线救国”在windows下完成,但却会花费较多的时间。比如,不熟悉Linux时,经常会把文件从Linux系统中拷贝到windows系统中处理,减慢了速度不说,还经常因为系统换行符的差异伤脑筋,错误百出。在“不会使用Linux”的困难面前,能够想到用windows来解决问题,是值得鼓励的,这符合“没有办法创造办法也要上”的精神。但反复这么做,却从来不突破瓶颈,就有问题了。
Linux在速度快这方面的优势就不一一列举了。这里也并非是诋毁windows,只为体现Linux的优势而已。
编程捷径熟悉了Linux的命令行操作,你将会对所有的命令行操作有着天然的喜欢和自通,哪怕是windows的dos命令。
Linux的几乎每个命令(工具)都很好用,有些甚至很强大,如awk、sed、vim、sar等等,就拿awk来说,它在许多场合下被称作是编程语言——处理文本数据的编程语言。
尤其是功能测试人员,掌握了Linux命令,可谓是以最便捷、最低成本的方式打开了编程的大门,因为会使用Linux命令离会shell编程仅半步之遥。
知行合一Linux有很多哲学和文化,在Linux之外的世界里同样适用。比如,Linux系统的设计理念是,让每一个命令做好一件事(实现一个功能),用管道线将这些命令组合起来,去实现更多的功能。——这也称得上是人生哲学了:
对个人而言,努力做好每一件事、仔细打磨每一样技能,将它们的价值组合起来,价值则会更大;
对团队而言,每个成员都有自己的分工,把自己专职的部分做好。再把团队成员的能力组合起来,就能做更多更有价值的事情了。
这类的哲学还有许多,知中有行,行中有知,就不一一列举了。
除以上之外,Linux还有着其它的辅助作用。
其它Linux的命令行是基于文本的,因而在使用Linux的过程中你不得不保持时刻阅读文本的状态。久而久之,阅读和理解的能力得以提升。再者,Linux的联机手册、命令的出错信息、系统信息等都是英文的,这会极大地提高英语阅读能力、扩大英语词汇量等。
有不少测试人员看到程序的出错信息,就会一概认为是“出错了、程序运行异常、程序不能运行”等,已经完全不具备阅读信息的能力。而能够熟练使用Linux的人,则不会存在这种情况。
学习Linux是有成本的,同时也非常超值。专业人士应该有专业人士的技术壁垒。
不掌握有没有坏处? 不进则退Linux涉及的技能栈如此广泛,好处这么多,这在测试人员的要掌握的技能(技能栈)中是罕见的。所以,如果你没有占领Linux这块高地,这在与同行竞争时是非常吃亏的。
随着你工作年限的增加,不能熟练使用Linux就越发变成你的软肋,除非你在其它方面有切切实实的优势和积累。
学习中的陷阱