有网友问:为什么电影中的黑客几乎绝不用鼠标,都是键盘一通乱敲?我说搞个图形界面这么难吗?
1、黑客懒得给自己开发的工具加上图形界面
搞图形界面真的难,非常难。这个难不是说因为算法、理论导致的难,而是实现 GUI 的各种繁琐工作的难。看起来简单的图形界面实现起来工作量非常大,很多界面做的华丽丽的软件其实界面部分的工作量不比核心功能部分少多少。有这功夫做图形界面还不如多花点心思琢磨功能。
2、欧美国家的 Linux/Unix 传统
不像中国这种被微软包养大的市场,欧美发达国家的传统科研单位、黑客们从几十年前就开始这些行当了,使用 Linux/Unix 的习惯延续至今。
Linux/Unix 将命令行发扬光大,造就了基于命令行的软件设计哲学独领风骚n多年,直到后来被苹果、微软的图形界面在消费者市场打败。
对于第一次接触电脑就是用 Windows、Mac OS 的普通用户而言,自然很难想象如何在不用鼠标的情况下操作电脑。
3、服务器通常只会有命令行
服务器(Windows 服务器除外)通常都不装图形界面的,因为这些服务器一开机可能就要跑一年,装上图形界面可能增加它们当机的概率。
4、命令行在很多任务下效率更高
熟练的 Linux 黑客可以很快敲出一行命令,组合系统里面的各种工具来完成一个任务。图形界面的话,一方面你很难让图形界面的工具协同工作,另一方面鼠标来回点n个工具效率会低不少。
比如找出一个目录下面所有包含信用卡号的文本文件,提取出信用卡号,进行加密然后发送到某个邮箱里面去,熟悉 Linux 的童鞋们都可以华丽丽的一两行命令搞定。用图形界面需要多久?
5、脚本语言、相关工具等的命令行支持
很多工具本身就是一个黑客工具,压根就没考虑 Windows 用户们,在图形界面下用起来反而非常麻烦。因为第二点的原因,很多黑客用的编程语言、工具一开始就是在命令行下面实现的,到了 Windows 还是得用命令行的方式来使用。因为 Windows 一直以淘汰命令行为己任,系统只带了一个极端难使的 cmd.exe,用起来简直让人抓狂。
PS:我觉得还有一个原因,那就是用键盘噼里啪啦输入看上去和感觉都太酷了,那才是高手行为。