这是网上的一篇文章: 为什么要使用命令行当初级Linux用户面对缺乏图形界面的Linux时很多人都会抱怨:为何要死守命令行?为什么不采用人机互交好、更…
只要你能够记住常用命令的英文缩写,而且不至于打字需要看着键盘用一根手指一个个戳过去,那么在习惯之后就会发现你的效率能够得到极大提高。
高效。随便举个例子:昨天半夜服务器抽风了,要你吧2点到4点之间所有访问特定URL出500错误的用户名统计出来,客服那边要,很急。日志文件不算大,就100MB吧,你拿Excel统计一个试试,看看要多久?
高可重复性。同样的命令输多少次都是同样的结果,图形就不好说了,你能保证每次点击都是事先计划好的地方么?一个像素都不差?你手一滑/电脑一卡/网络一个不稳定点错地方了怎么办?假设100项操作,你漏了一项怎么办?重来?很多时候你没这个机会了。而100条命令的话,可以事先花大力气把命令都检查好,甚至可以在试验环境中试好,输入的时候复制粘贴就行了。
高生产性。接上一条,命令行可以非常方便的做成脚本/操作说明书/设计文档等等。图形界面你怎么搞?一歩一截屏?人家10多行半页就能搞定的事,你2,30页都不一定能搞定。至于脚本我知道可以录制宏,可是让“延迟,点击,延迟,点击”这种宏乱点一通你放心么?
这要看你干啥,比如批量操作文件,命令行那是简单快速(比如批量转换图片格式,安装imagemagick之后一个mogrify -format jpg *.png就行了)。在windows下我都要安装cygwin来使用那堆命令行工具。
上面的回答都不错,但和提问者一样,也很疑惑,为什么当年同样是命令行的dos就被彻底抛弃了呢?win98还能用正宗dos命令行,但后来就只剩cmd之类的虚拟机了.说明命令行是大多数人都用不到的.
命令行要比图形界面好用这个命题只成立在极端条件下,这个问题应该调整为为什么linux生态更强调命令行模式。
第一个问题,linux面向的是特定群体。特定群体这个词语是我斟酌了很久才用的,因为这群人太难定义了。有利用技术壁垒提高入门门槛的装逼人士,有牺牲个人时间不停升级却懒得搭理小白用户的“热心”人士,有当年就是这么过来的啊老子习惯了的保守人士。一群玩自由没有金钱驱动的固执精英 。看看现在linux有多少五花八门的shell和版本号(我见过一个大仙写了几千字论证vi命令比office Word好用的神文!)?在肯定其自由精神的同时请允许我引用大热名言——一群乌合之众,聪明人再多,也打不了天下!
第二个问题就是linux系统是干什么用的。linux系统并非是一个面向个人用户的友好桌面系统,它更多的是部署在服务器上,可以实现更强大的定制功能和良好的安全性。linux的图形化的shell只是命令行的补充而非替代,里面各种软件的配置都需要文本编辑参数实现功能,甚至需要补充安装各类环境和插件,造成了系统学习成本非常高。门槛高了,薪水自然高了;门槛高了,逼格自然高了。
总而言之,linux并非是一个面向个普通用户的桌面系统,linux适合折腾,只有想不到,没有做不到,但是linux绝非普通大众的生产工具。
记住并输入一大串各种参数的命令是一个复杂的操作门槛,任务复杂度低于这个门槛的适合用图形界面,高于这个门槛的适合用命令行。
Linux与Windows的比较,好多喜欢拿命令行来说事,意义不大,你让那些天天说命令行多好多好的人把自己的电脑彻底换到纯命令行环境下办公娱乐他就焉了。只是拿某一侧重点来比较没有可比性,哪个适合环境,哪个满足实际需求就用哪个。
中国程序员大概200万人,Windows用户没有一亿也有8000万,200万人代表不了8000万人,更代表不了8000万人的需求。(数据猜的)
这个在很多人的日常生活中可能并没有什么严重后果,至多是秒杀没秒到,或者是没保存写了一下午的word文档。但是换作商业环境,你有可能把所有用户信息全部删除了或者是修改了,这种后果任何公司都不想看到。

