【51CTO外电头条】命令行界面(简称CLI)的确有自己的存在价值,Mobile Rapter网站博主Roberto Lim坦言,“不过没有任何一种面向普通用户市场的技术必须通过CLI才能实现;换言之,大家可以把它当作后备方案,也可以直接把它扔进历史的垃圾堆。”但话说回来,保留CLI就等于在遭遇故障时为IT人士或技术支持团队准备了一套实用工具。
其实在Linux博客圈里很多话题都是辩了再辩、喷了再喷,已经跟冷却用的循环水一样没营养甚至讨人厌了——就连所谓“年度讨论”也开始逐渐失去吸引力。
然而一项***话题性的内容却常常被大家所忽视,这就是命令行的各种局限——在如今这个GUI横行的时代,它还能继续生存并有所作为吗?
没错,大家的热情再一次被调动起来——新一轮对喷开始啦!
稳定可靠还是暴躁易怒?
“命令行到底算不算是暴躁易怒的老古董?”自打TuxRadar把这个话题抛出来进行无记名投票之后,无数技术人就此展开热闹讨论,争执之声至今仍未停歇。
那么大家怎么看?命令行界面已经失去了实际价值?或者仍然是一款值得依赖的老工具?
作为Linux用户,同志们的讨论热情红火到令人意外。
要美观还是要强力
“命令行绝对属于暴躁易怒的老古董,”Google+博主Linux Rants认为。“时至今日,它仍然在单薄的外壳下蕴藏着任何一款GUI都无法容纳的强大力量与功能特质。”
我承认“GUI水汪汪的大眼睛确实能给用户带来美好的使用体验,”Linux Rants赞扬道。“图形化使得计算机对缺乏相关技能的用户而言更易于使用,而且这个群体对于计算机到底发生了什么也不感兴趣;然而GUI仅仅能够提供命令行全部发挥空间中的一小部分。这基本上类似于普通人跟健次郎间的区别。”
GUI的处理速度也明显更慢一些,他补充道。“就拿从同一个文件夹中区分两类文件这种简单任务为例,命令行只需‘mkdir GIF;mkdir JPG;mv *.gif ./GIF;mv *.jpg ./JPG’就能搞定,前后大概五秒钟。那么在美观可爱的GUI中,这个过程需要多久?”
CLI万寿无疆
事实上,“我是遇到过高人,给我演示了如何通过构建一条for-next循环来在GUI中实现这种文件归类任务的,”Hyperlogos博主Martin Espinoza也表示赞同。“在那之前,我一直都没找到好的解决办法。”
“文件管理器中漂亮的重命名选项根本无法帮助我们通过xargs,sed,tr等等实现一款程序作用于另一款程序输出结果的目标。而在我们仅仅需要轮子就能解决问题时,GUI往往把推土机都搬出来了——这根本就毫无道理,”Espinoza补充称。
“CLI距离消亡还早着呢,而且在复杂任务处理方面没有什么能取代它的位置,”Slashdot博主Gerhard Mack表示附议。“甚至微软自己也意识到这一点,并在过去几年中开始尝试为服务器系统添加了更完善的命令行方案。”
完成工作的正确工具
另一位Slashdot博主Chris Travers曾经参与过LedgerSMB项目,他也表示深有同感。
“要说GUI会淘汰掉CLI,就好像说文字处理工具会淘汰掉Emacs或者VIM一样,”Travers指出。“这两种东西根本就是不同定位下的不同工具。”
Travers认为二者***的区别在于信息密度并不对等。
“GUI在向用户传递信息方面表现出色,但并不善于从用户那里接收密集信息,”他解释道。“CLI的表现相对平均,虽然不能像GUI那样直观地将大量信息反馈给用户,却擅长接受来自用户的指令。”
按键原则
举个例子,“想象我们要通过多少次鼠标点击及键盘操作才能向GUI下达‘下载download file.txt文件到我的文件夹中,并将其重命名为myfile2.txt’这样一条ftp指令,”他指出。“我亲自做过测试,最少要点击八次以上才能完成。”
而在命令行ftp工具的帮助下,情况则完全不同。“大家只需要输入:get file.txt myfolder/myfile2.txt,”他认为“这明显简单得多,而且输入内容也更符合人类的逻辑思维。”
因此,“虽然GUI能够为包括系统管理员任务在内的许多日常操作提供良好的工具,”Travers总结道,“但很多时候敲击键盘仍然是向计算机表达需要的***方式。”
“正如利用elinks(一款只支持纯文本的终端处理器)上网令人抓狂那样,利用GUI管理计算机在很多时候同样叫人难以忍受,”他说。
只为极客打造
Roberto Lim,Mobile Raptor上的一位律师兼博主却持反对意见。
“使用命令行会令人产生一种优越感,所以我明白自己的言论一定会引发大家的争议,”Lim在与Linux Girl交谈时称。“但我还是得说,我每次使用命令行都得翻查一本指导手册,而且根本不明白自己所输入的内容是什么意思。”
Lim承认命令行界面有它擅长的用途,“不过没有任何一种面向普通用户市场的技术必须通过CLI才能实现;换言之,大家可以把它当作后备方案,也可以直接把它扔进历史的垃圾堆。”
“但话说回来,保留CLI就等于在遭遇故障时为IT人士或技术支持团队准备了一套实用工具,”他表示。
换句话说,“这就像通过gedit来创建网站,”Lim总结道。“没错,这很酷。但时代已经不同了,谁真的愿意输入‘<p>’而不是直接按‘回车’键?”
所以,“先不说命令行到底算不算是暴躁易怒的老古董,事实上普通用户中有很多人压根不知道它的存在,”他补充道。
OS当不了桌面OS
Slashdot博主Hairyfeet则抛出一个更为强势的观点。
“对对对!”野生的Hairyfeet君加入了讨论。“使用CLI只出于两个理由——重复与脚本——但我们在使用台式机或笔记本进行工作时其实很少需要编写脚本或者大量重复单一操作?几乎没有,这也正是我的核心观点——CLI能够在Linux上大展拳脚,那是因为Linux主要以服务器操作系统的形式存在,而非一般的桌面系统。
总结:“如果大家认为Linux系统已经准备好登陆个人设备,那么请接受我的挑战,”Hairyfeet表示。“咱们来做个实验,选择任意一款Linux发行版、卸载掉其中的CLI并坚持使用一年,看看能不能让它们像其它主流现代系统那样顺利工作。”
“遗憾的是,我怀疑大家根本找不到一款能够在缺乏Bash或其它shell的情况下正常启动的Linux发行版,”他估计称。“命令行已经成为Linux系统的拐杖,没有了它这个看似繁荣的系统家族将毫无立足的能力。”
某些用户眼中的无价之宝
然而争论到这里还远没有结束。
“BASH命令与脚本是系统管理员们的好帮手,”博主Robert Pogson指出。“只是很少有普通用户需要跟它打交道。”
也就是说,“它们虽然有些暴躁且难以驾驭,但在实际工作中的表现仍然可圈可点,”Pogson认为。“我能够通过输入一行命令来检查每台设备连入网络的时间、更新软件甚至是向特定PC列表中添加特定应用等等。”
“这简直是无价之宝,”他补充称。“黄金和钻石也都是老物了,但它们的价值谁也不能否认。”
Linux的通用语
事实上,“我发现脚本与命令的***价值在于其横跨数百种GNU/Linux发行版的通用性,没有它们的帮助系统管理员根本不可能顺利上手这么多种系统版本,”Pogson指出。“对于新手系统管理员或远程PC管理工作这种通用性也同样重要。”
因此,“我喜欢把命令行称为GNU/Linux的通用语,它能够涵盖安装在所有PC机上的任何发行版,”他告诉我们。“有了命令行,用 Debian的家伙也能给用红帽的用户以帮助,同理,GNOME与Xfce之间也再无不可逾越的障碍。”
“那用XP的家伙能帮上用Win 7的用户吗?”Pogson补充道。“也许行,也许不行。那Debian Sarge用户能搞定Debian Squeeze的问题吗?绝对没问题。命令行是恒定不变的,在GNU/Linux领域,它是一种团结力量的象征,把各种发行版紧密联系在一起。”
原文地址:It Time for the Command Line to Ride Into the Sunset?