当前位置: 首页 > news >正文

聊一下操作系统 macOS 与 Linux

对于Windows操作系统大家都比较熟悉,也常拿它与Linux操作系统进行比较,两者之间的差异也很明显。但对于macOS 和 Linux的比较不太多,很多人认为它们很相似,因为这两种操作系统都可以运行 Unix 命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都是独一无二的存在,下面就让我们来聊聊macOS 和 Linux的不同之处吧。

首先简单介绍下Linux和macOS吧,Linux是由一个芬兰大学生,名为 Linus Torvalds的年轻人带头开发的系统是一类Unix计算机操作系统的统称,其最显著的特点是源代码开放,可供所有人使用,允许开发者进行更改优化。而macOS是一个封闭的系统,是指只有苹果的设备才可以使用,macOS可以说是Unix组件和苹果公司技术结合所产生的操作系统,macOS的基础是由NeXT 公司开发的,技术基于Mzch内核和Unix,但后来NeXT 公司被苹果收购了,使得 NeXTSTEP 操作系统成为了 macOS 的基础。要说两者有没有共同点,倒也有一些,但不多,因为macOS是Unix组件和苹果公司技术结合所产生的操作系统,而Linux的全称是GNU/Linux,是一个可以免费使用并且允许自由传播的类UNIX操作系统,所以关于Unix 命令、bash/zsh、以及其他 shell等,macOS和Linux都是可以使用的。两者的不同之处还是很多的,毕竟是两种系统嘛,各有各的特点。

从开源上来说,Linux的各个发行版本是完全开源的,用户不仅可以免费使用,还可以对其进行修改完善来实现自身的需求,Linux源代码开放,用户可以对源代码进行自由的剪裁,也可以自行修改使用,灵活性非常高,但在大多数情况下,修改的代码也需要公开,遵循一定的许可条款。macOS就不一样了,macOS不是完全开源的,它有一部分是专有的,也就是闭源的。macOS内核是开源的,其实准确的说,是苹果使用了开源的内核,因为BSD和Mach是内核的主要部分,而这两部分原本又都是开源的,苹果只是对其进行了优化和平台的迁移,macOS桌面和大多数驱动程序都是不开源的。Linux可以在任何硬件上使用,而macOS一般只用于Mac 设备,倒也不是说不能安装在普通电脑上,但是要安装在普通电脑上的话需要安装虚拟机,那样就很麻烦了,并且运行也远不如Mac 设备。

从软件管理方面来说,Linux的用户要下载或者安装应用程序的话,可以使用命令行或者图形工具,Linux大多数的发行版本都是带有包管理器的,这样在个人电脑上对一些软件应用程序进行安装、删除、或者进行更新、管理就很方便了。macOS用户要安装应用程序的话,通过应用程序文件夹安装是比较传统的方法,使用 Mac App Store 安装是一个比较新的方法,当然还可以使用Homebrew,Homebrew是macOS 上使用的包管理器,它与Linux包管理器的工作方式比较相似,也可以用于Linux。

从桌面环境来说,Linux早期是不带界面的,都是通过命令来执行任务,但是用户比较习惯windows的图形化界面,觉得命令行窗口用起来不舒服,后来Linux也就推出了图形界面环境,而且Linux的图形界面各种各样,可供大家去选择。用户也可以在 Linux 上安装多个桌面环境,每次可以使用不同的桌面环境,看到不同的漂亮窗口。macOS上的图形用户界面是标准的,对用户来说全都是一样的,没有各种各样一说,外观比较单一,当然可以对壁纸和主题等进行一些调整。

从系统升级层面来说,Linux提供了选择项,比如有可提供5年更新的LTS 版本,主要是适用于 Ubuntu 或基于 Ubuntu 的发行版,如 Linux Mint。还有一个Ubuntu的订阅项目,可以免费提供 十年的免费更新。还可以选择滚动发行版本,只要硬件可以胜任,就可以得到持续的更新。macOS的话,苹果公司没有公开发布对于其操作系统的更新时间计划,可能会突然抛弃旧设备,按目前的情形来看,平均支持时间在5年左右。

大概区别先介绍到这里,当然不止这些。如果说真要选择这两者中的一个用的话,Linux还是比较大众的选择,macOS 相对是一个小众的选择,我个人是比较喜欢Linux,我是经《Linux就该这么学》入门的,也学习和运用好几年了,大家对Linux感兴趣的话可以做个参考,当然这是我个人的看法,具体还是根据自身的需求进行选择。

http://www.lryc.cn/news/132603.html

相关文章:

  • OJ练习第153题——分发糖果
  • iOS 通知推送服务端部署测试过程详细版
  • 【COMP282 LEC3 LEC4 LEC5】
  • panda3d加载模型复习和python面向对象编程属性学习
  • 使用 Node.js 生成优化的图像格式
  • 【WinAPI详解】<CreateWindowEx详解>
  • 【Git】分支管理
  • 玩转单元测试之gtest
  • Tomcat 一次请求的生命周期
  • spring cloud gateway中配置uri
  • 使用NAudio录制wav音频
  • 数据结构之动态内存管理机制
  • 【汇编语言】栈及栈操作的实现
  • 【JavaEE】面向切面编程AOP是什么-Spring AOP框架的基本使用
  • SpringBoot+微信小程序奶茶在线点单小程序系统 附带详细运行指导视频
  • 【支付宝小程序】开发基础--文件结构教程
  • LLM 生成式配置的推理参数温度 top k tokens等 Generative configuration inference parameters
  • npm的镜像源和代理的查看和修改
  • IP库新增经过实践的Verilog 库
  • SLAM-VIO视觉惯性里程计
  • 分布式 RPC 框架入门
  • Spring boot与Spring cloud 之间的关系
  • 报名开启 | HarmonyOS第一课“营”在暑期系列直播
  • Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!
  • matlab使用教程(17)—广度优先和深度优先搜索
  • CSerialPort教程4.3.x (2) - CSerialPort源码简介
  • 【数据结构OJ题】有效的括号
  • Java性能分析中常用命令和工具
  • JVM性能分析-jstat工具观察gc频率
  • mysql 查询报错 1267 - Illegal mix of collations