指令和界面【Linux】

指令和界面


前言

Linux操作系统提供了丰富的命令行界面和图形用户界面工具,用户可以根据自己的需求选择适合的界面进行操作。命令行界面更加灵活和高效,适合熟悉命令的用户;图形用户界面更加直观和友好,适合新手用户。


一、指令 vs 界面

指令,可能有的小伙伴是第一次听,但是它确实历史悠久,而且先于界面

交互的需求

计算机被创造出来,是为了为人提供服务的。但是为了让计算机更好的为人服务,前提是人必须的和计算机交互起来。

ps:类比一下另一种机器,那就是汽车,汽车是为了给人提供交通服务的,但是造出来之后,需要人通过某种方式去控制汽车,当然在汽车里,人和汽车的交互方式是通过方向盘,油门去交互的

满足需求的第一阶段------指令

打字机的产生是在19-20世纪,反正是远远早于计算机发明的。所以我们要和新发明的计算机进行交互,人们先想到的是借鉴一下打字机的输入方式,来进行常规交互,慢慢演化下,就有了现在的键盘。既然早期交互硬件只有键盘,那么初期的交互方式,也变很顺理成章的是指令方式喽(又没有鼠标可以点)。

思考一下,为什么键盘现在的按键布局,是现在这个样子的呢?

1946年2月14,世界第一台计算机ENIAC问世,后因交互的需求,借鉴了打字机键盘,就有了初期的指令交互方式

满足需求的第二阶段-界面

虽然我们还没有正式操作过,但是直觉告诉我们,指令这种方式,可能比较恶心。

一个问题想问问大家,PC时代,要点击界面,需要有鼠标点击,那么,是先有鼠标,还是先有真正意义上的图形化界面呢?答案是,先有鼠标,先看看世界上第一个鼠标的样子吧。

那到底是谁发明的呢?

这个大爷,出生于1925年1月30日,美国人道格拉斯·恩格尔巴特。这个样子的鼠标在1968年面世。

有了硬件设备的支持,同时指令用起来给一般用户的体验特别不好,再这样的需求促进下,乔布斯在1979年参观完施乐公司Xerox Alto(阿尔托)系统之后,迅速模仿并商业化出来了图形化界面交互式的方式,并诞生了世界上第一台商业图形化交互方式的电脑:lisa(当然,后面因为成本问题,效果并不理想,后来乔布斯又继续改良,就有了划时代产品Macintosh(麦金塔),也就是第一代mac笔记本,乔布斯就此封神)与此同时,比尔盖茨在借鉴苹果lisa下,带着他的windows 1.0,后续在商业上迅速跟进。

乔布斯对苹果的定位是一家计算机科技公司,属于软硬件都做的那种,有自己的软件操作系统,也有自己的硬件设计方案,而且乔布斯是一个神一样的产品经理,所以对软硬件的整合能力,对用户的理解,都造就了一款符合事宜,又设计精良的电脑问世。mac 1问世之后,迅速走红。

可是,走向世界的是苹果,覆盖世界的却是微软。

比尔盖茨看到这样的苹果公司,走的早,产品还好。如何赢?差异化比尔盖茨对微软的定义是一家软件公司,也就是只负责软件,可是计算机毕竟是一个软硬件结合的产物,于是微软便找了自己的硬件合作方intel(开始是IBM,大家理念有差异,散了)开始搞事。合作的最大好处是成本好控制,生产效率高,毕竟是产业分工的产物,慢慢的windows便席卷全球,就有了摆在我们面前的windows操作系统

  • 苹果的操作系统,一般都在苹果的计算机上跑
  • 微软的windows操作系统,什么品牌的电脑都能跑,像联想,dell,华为,鸿基,东芝等。细心的同学应该能发现,所有的这些品牌的计算机上面搭载的CPU都是IntelX86...

时间

  • 打字机产生1808年7月24日(衍生键盘)
  • 1946年2月14,世界第一台计算机ENIAC问世
  • 因为有交互的需求,计算机交互便借鉴打字机的键盘,慢慢演化,就有了键盘,所以当时人们对交互的想象只能是命令行
  • 鼠标在1968年面世
  • 1973年施乐公司Xerox Alto(阿尔托)系统,世界上第一个非商业图形化操作系统
  • 1979年乔布斯和施乐进行利益交换,带团队参观施乐计算机研究中心,借鉴并商业化带UI的操作系统,后来衍生出来mac图形化界面(期间也有windwos的故事)
  • 随后,微软推出了自己的桌面级操作系统windows 1.0
  • 两家商业公司,两个老总,开始撕
  • 就有了现在的PC界面交互方式

最后,有一个问题,就是为什么电子计算机,操作系统,各种电子设备会在1950~2000年这50年大量爆发。

二、指令和界面交互

了解过历史之后,我们能理解,为何会有指令交互和界面交互这样的现象,但是还有两个问题的在讨论一下

  • 这两种方式,在操作系统层面有啥区别?
  • 既然界面方式是发展的产物,为什么还要在学命令行?

区别

区别这个问题,现在比较难理解,目前也不打算谈。但是在功能定位上,是一样的,都是让用户进行和系统进行交互。也就是说,界面的点击操作,一般也有对应的命令与之对应?

答案是:是的

为什么要学命令行

  • windows/苹果图形界面,是商业化的产物,也就是使用必须简单小白,才能有人用
  • 严格意义上讲,我们必须要学一下Linux命令行。因为企业后端有大量的服务器,服务器上跑的全是Linux,Linux上部署的全是服务(比如:qq的服务,王者荣耀,LOL的服务等),无论是成本角度,还是资源效率角度,后台的服务器,都不会大量给你也安装一个界面让你来控制(界面也是要占系统资源的哦)但是服务器上面的服务需要维护,需要管理,也就衍生大量的对基本操作的需求。也就是企业的用人需求
  • Linux命令行是职业化的表现,想职业化/成大神,必须掌握Linux
  • Linux命令行,更接近系统原生,用的多了,面对很多系统现象,会更好理解

总结

严格意义上讲,光光学习Linux操作是远远不够的。还有系统,网络。


相关推荐
离歌漠1 分钟前
C#调用C++ DLL方法之P/Invoke
c++·c#·p/invoke
zym大哥大2 分钟前
Linux的权限
linux·服务器
xiaowu0802 分钟前
MFC线程-通过CWinThread派生类实现
c++·mfc
askah66444 分钟前
解决mfc100u.dll缺失问题,轻松恢复系统稳定
windows·经验分享·游戏·microsoft·dll修复
Stark-C5 分钟前
功能齐全,支持协作 | Docker部署一款支持多人共享的私密浏览器『n.eko』
运维·docker·容器
sheng12345678rui9 分钟前
mfc100u.dll是什么?分享几种mfc100u.dll丢失的解决方法
游戏·microsoft·电脑·dll修复工具·1024程序员节
兵哥工控10 分钟前
MFC工控项目实例三十一模拟量转化为工程量
c++·mfc
嘟嘟Listing25 分钟前
设置jenkins时区记录
运维·jenkins
嘟嘟Listing26 分钟前
jenkins docker记录
java·运维·jenkins
伴野星辰26 分钟前
小乌龟TortoiseGit 安装和语言包选择
linux·运维·服务器