分享

Linux的shell和Windows的命令行有什么区别?

 昵称11935121 2018-03-01



最根本区别是linux shell是个linux 操作系统的用户交互层。而windows下的cmd只是一个小应用。


如上图,shell介于应用程序和内核之间,所有应用程序要和内核交互都必须通过shell,包括linux的图形桌面Xwindow。

linux可以没有图形界面,cmd只是windos下的终端模拟器不能单独存在。



linux下不需要图形桌面就可以做几乎任何事情,而且比图形桌面更简洁高效,配合shell编程实现自动化,比如笔者工作的服务器都是纯命令行,没有图形界面。

cmd本身只是个桌面应用,不能独立存在。

cmd很蹩脚难用,功能有限,shell功能强大,体验极佳



我们上面也说了shell可以干几乎任何事情,关于shell的功能不再多说。cmd虽然可以做一些事情结合bat小脚本做些自动配置的事情,但是用起来也鸡肋的很。

随便举个例子把,比如要给hosts添加一条规则做域名的本地解析:

用shell,一句话教本就行 echo '127.0.0.1 www.g.cn“ >> /etc/hosts 就ok。

用bat做的话类似

attrib -R C:\WINDOWS\system32\drivers\etc\hosts @echo 127.0.0.1 www.g.cn>>C:\WINDOWS\system32\drivers\etc\hosts

微软在改进和努力

微软以dos起家,凭借其方便直观地窗口操作系统独霸了pc市场几十年,对于cmd也在努力改善,从win 7开始内置了改进版本的Powershell,它从自动改变窗体大小,到各种功能上,以及编程体验上做了很多工作,比cmd确实好用了很多了。



但是同专业的shell比差距还是很大,微软又在win 10中引入了linux shell。



更多信息,就不在此说了。有关shell,powershell和cmd的介绍,我会以文章专题形式做实例介绍,有兴趣可以关注我,给我留言,虫虫会给你奉上更多精彩内容。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多