图形用户界面 VS 命令行界面

命令行界面(command-line interface,缩写CLI)


计算机早期时代,在图形用户界面(GUI)得到普及之前,CLI使用相当广泛。也有人叫做CUI(character user interface),字符用户界面。
说实话,刚开始接触命令行界面时,我真的是很讨厌这种交互方式。试想下,要想使用这种方式操作电脑的话,对你的要求有哪些呢?

  • 最基本的,你要有一定的英文基础吧,光这一点就要刷掉不少潜在的用户了。毕竟这CLI的命令都是英文单词或者缩写组成的,而不是拼音或者中文汉字。
  • 打字的速度和准确度要有,光是记住还不行,你还要输入正确的英文单词形式的命令,即便是少一个字母都不行。想想看多难受。
  • 这种交互方式,对于用户来说可以有无数种输入组合,相比图形界面作为输入方式的一连串按钮来说,出错的可能性简直不要太高。但是换作按钮的话,就那几个按钮。输入的可能性都给你限制死了,你还能折腾出什么错误呢。
  • 另外就是键入英文命令可能会出错的问题,如果换作按钮的话,点错的概率是不是直接下降好几个数量级

难怪普通用户都对这种交互方式敬而远之,通常会觉得只有电影里厉害的黑客才会使用它

图形用户界面(Graphical User Interface,缩写GUI)


我一开始能被计算机所吸引,绝对是因为计算机显示出的绚丽多彩、五颜六色的显示屏所吸引的。太好玩了,电视机虽然也有好看的屏幕。但是和计算机相比,它的显示太死板了,都是预先设定好的,人很难从外界干预或者说和它进行交互。但是计算机就不一样了,动动鼠标,敲打键盘,计算机的显示会立刻做出相应的变化。

倘若用计算机来进行游戏的话,那画面感更容易令人着迷。现在人们常说的用户体验,我想也是针对GUI来说的,软件界面的颜色搭配,按钮布局,动画效果。这些细节都能体现出“体验”二字。

CLI VS GUI


难道说CLI真的就一点用处都没有吗?
当然不是,事实就是在某些应用场合下,CLI有着不可替代的作用!

  • 比如,现在要你去操作一台远程服务器时,我想大多数人立刻想到的就是使用CLI,这就十分方面顺手。而不是来个远程桌面连接,这显的太麻烦了。或者你也可以打个飞的,跑到服务器面前给他接个显示器来用。
  • 相比花里胡哨的图形界面,CLI可以节省更多的计算资源,想想现在还很常见几百兆内存的没有显示设备的Linux服务器配置,但是上哪去找几百兆的Windows设备去?
  • 自动化的能力,在CLI环境下使用脚本可以很容易执行一些自动化的流程,甚至在Windows上也会有人经常使用批处理来处理重复性但又容易出错的工作。这样是换成GUI的话,还要使用类似按键精灵之类的软件来录制一些操作,就显得十分笨拙!

世界上没有绝对的好,也没有绝对的坏。


就像CLI不支持鼠标这一特性,似乎显的很遗憾,因为鼠标确确实实能够提供丰富的输入操作,而CLI竟然不支持!

但是换一个角度来看,恰恰是因为它不支持鼠标这一特性,才能够使它在远程操作一台计算机时避免了不必要的麻烦和繁琐的点击操作,可以让用户的双手始终专注于键盘之上!才让CLI有了施展威力的机会。

想想看,弱点在某些环境下竟然又成为了优势!