macOS与Linux:您应该知道的 5 个主要区别

news/2024/11/30 5:54:36/

目录

  • macOS与Linux:您应该知道的 5 个主要区别
    • macOS 和 Linux 的简史
    • 开源与专有软件
    • 软件管理
    • 命令行突出
    • 桌面环境
    • 多重分布的概念
    • Linux 与 macOS:最佳之战

macOS与Linux:您应该知道的 5 个主要区别

macOS 和 Linux 都是很棒的操作系统。它们都受到 Unix 的启发,并且十分稳定。尽管这两个操作系统有很多共同点,但它们在自己的方式上是独一无二的。让我们来看看 macOS 和 Linux 之间的一些关键区别。

macOS 和 Linux 的简史

macOS 和 Linux 的主要部分是内核、核心实用程序、GUI 或桌面环境以及应用程序。macOS 基于称为 Darwin 的开源 BSD Unix 内核。macOS 的其他部分(例如,GUI 和核心应用程序)是闭源和专有的。Apple 构建和维护这些软件系统,它们是您 Mac 设备的一部分。Apple 在 2000 年代初期将 Unix 引入 macOS。在此之前,macOS 是基于非 Unix 操作系统的。
Linux 最初是一个个人项目,是 Linus Torvalds 在 90 年代初对 Unix 操作系统的克隆。严格来说,Linux 只是内核。操作系统本身由 GNU 实用程序等核心部分和 GNOME、KDE 等桌面环境组成。

开源与专有软件

Linux 和 macOS 都大量使用开源软件,但是虽然 Linux 发行版是完全开源的,但 macOS 的一部分是闭源和专有的。

从开源内核到核心 GNU 实用程序和 GUI 环境,Linux 是免费和开源软件的缩影。您可以根据自己的喜好自由修改和重新打包整个操作系统。您甚至可以将其商业化并从中赚钱,就像 Red Hat Enterprise Linux 一样。

在大多数情况下,Linux 的许可条款要求您所做的修改也要向社区公开。

对于 macOS,主要是内核是开源的。桌面和应用程序等其他部分不是开源的。当然,来自 Apple 的其他组件,例如 Swift 编程语言是开源的。

与您可以在您选择的任何硬件上使用的 Linux 不同,macOS 旨在用于 Mac 设备。当您从 Apple 购买 PC 时,您需要为软件和硬件付费。

软件管理

Linux 长期以来一直接受拥有中央软件存储库的概念,用户可以从中使用命令行或图形工具轻松下载和安装应用程序。

大多数 Linux 发行版都带有包管理器,例如基于 Debian 的发行版上的 APT、Fedora 和 Red Hat Enterprise Linux 上的 DNF 或 Yum,以及基于Arch 的发行版上的 Pacman。使用包管理器,您可以在 PC 上轻松安装、删除、更新和管理软件应用程序。

在 macOS 上安装应用程序的传统方法是通过应用程序文件夹。您从 Internet 下载要安装的应用程序,然后将其拖到应用程序文件夹中,其余的由 macOS 处理。

另一个较新的选择是使用 Mac App Store 安装软件应用程序。

您还可以使用 Homebrew,这是一个在 macOS 上工作的包管理器,其工作方式与 Linux 包管理器(如 APT)非常相似。Homebrew 也适用于 Linux。

命令行突出

Linux 的真正强大之处在于终端或命令行。macOS 有一个类似的终端模拟器可用,但大部分注意力都集中在花哨的 Mac 桌面上。

该终端允许您以高效、轻松的方式与您的 PC 和软件资源进行交互。此外,它还允许您轻松地自动化和安排任务。运行 Linux 的软件工程师、高级用户和系统管理员在他们的工作流程中大量使用了终端。

大多数 Linux 发行版使用 Bash(GNU Bourne Again Shell)作为终端的默认 shell。2019 年,Apple 将 Bash shell 替换为 Zsh(Z shell)。Z shell 是高度可定制的,并且与 Bash、ksh 和 tcsh 有许多相似之处。

因为 Linux 和 macOS 大多使用类似的 shell,所以你在 Linux PC 上运行的核心命令也可以在你的 Mac 上运行,反之亦然。

桌面环境

在 Linux 的早期,基于内核的操作系统没有附带 GUI,大多数 Linux 服务器仍然没有。您必须通过终端与操作系统进行交互。随着时间的推移,开发了桌面环境以帮助用户以更直观和友好的方式与操作系统进行交互,以便操作系统可以满足高级和非技术用户的需求。

与 Linux 的所有事物一样,您可以从多种桌面环境中进行选择,所有这些环境都为您提供了与系统交互的独特方式。一些著名的桌面环境包括 GNOME、XFCE、KDE、Deepin 等。您可以在 Linux 上自由安装多个桌面环境,但是一次只能使用一个。

macOS 上的 GUI 是标准的,对所有用户都是一样的。除了更改壁纸、主题和类似的调整之外,您没有选择安装另一个桌面管理器来改变您的 macOS 的外观和感觉。

多重分布的概念

在 Linux 上,发行版或发行版是一种特定类型的 Linux,它带有一组特定的应用程序、桌面环境和系统实用程序。不同的发行版通常针对一组特定的用户,例如道德黑客、艺术家、程序员、软件开发人员等。

根据您的工作流程,您可以从数以千计的 Linux 发行版中进行选择。例如,基于 Debian 的发行版 Kali Linux 主要用于道德黑客攻击和渗透测试。它带有大量适合道德黑客的工具和实用程序。

Arch Linux 是另一个轻量级的 Linux 发行版示例,它带有最少的工具。它被喜欢从头开始定制操作系统的 Linux 爱好者和极客广泛使用。

另一方面,使用 macOS,每个人都可以获得相同类型的操作系统,无论他们的热情或工作是什么。这是因为苹果是唯一一家开发和控制操作系统的公司。苹果维护单一操作系统的多个变体会适得其反。

有这么多 Linux 发行版的原因归结为 Linux 内核及其核心组件都是开源的。这使用户可以轻松创建针对特定受众的新 Linux 风格。

Linux 与 macOS:最佳之战

Linux 和 macOS 都很棒,并且共享一些 Unix 传统。例如,两者都带有类似的命令行 shell,并且具有相同的文件结构。所有其他差异都源于 Linux 内核是开源的,任何人都可以自由修改它。


http://www.ppmy.cn/news/696279.html

相关文章

macOS 与 Linux: 5 个主要区别

macOS 和 Linux 都是很棒的操作系统。它们都受到 Unix 的启发,并且十分稳定。尽管这两个操作系统有很多共同点,但它们在自己的方式上是独一无二的。让我们来看看 macOS 和 Linux 之间的一些关键区别。 macOS 和 Linux 的简史 macOS 和 Linux 的主要部分是…

网游同步技术:实时动作游戏同步方式和传输协议选择

http://www.gameres.com/478430.html 6 天前 上传 下载附件 (88.33 KB) GameRes游资网授权发布 文 / 韦易笑 实时动作游戏在近年来得到迅猛的发展。而游戏同步问题,成为大家继续解决的核心问题之一。早在 2004年,国内游戏开发还处于慢节奏 RPG满天飞的…

Java Robot类实现自动化操作的API详解

此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。RRobot的主要目的是便于 Java 平台实现自动测试。 常用的方法有以下几个: void keyPress(int keycode) 按下指定的键 void keyRelease&…

如何靠3D建模月入2W+?

互联网的发展形态一直以来都是以2D为主,现在随着3D技术的不断进步,将会有越来越多的互联网应用会以3D的形式来呈现给用户。 什么是3D “3D"是three-dimensional的缩写,就是三维图形。在计算机里显示3d图形,就是说在du平面里显…

VSC++指针字符串连接不调用现有函数

缘由https://bbs.csdn.net/topics/396381155 char str1[40]{"qwert-\n"}, str2[40]{"poi"}, str3[80]{}, *p str1, *q str2, *h str3;while (*p ! \n)*h *p;while (*q ! \0)*h *q;puts(str3);//缘由https://bbs.csdn.net/topics/396381155

CSS知识点汇总(十一)--回流重绘

文章目录 怎么理解回流跟重绘?什么场景下会触发?1、回流和重绘是什么?2、如何触发回流和重绘3、如何避免回流和重绘的发生 怎么理解回流跟重绘?什么场景下会触发? 1、回流和重绘是什么? 在HTML中&#xf…

英特尔️® 傲腾™ 技术助力中国电信打造更优 CDN 服务

苏炳添、全红婵、张雨霏、杨倩,东京奥运会上,这些健儿让国人铭记于心。不过,很多人看转播时可能不知道,这是一届云上奥运,因为是史上首次采用云计算支撑全球转播。整个过程让转播中心面积缩小 25%、现场工作人员减少 2…

Spring Boot 中的 @HystrixCommand 注解

Spring Boot 中的 HystrixCommand 注解 简介 在分布式系统中,服务之间的调用是不可避免的。但随着服务数量的增加,服务之间的依赖关系也会变得越来越复杂,服务的故障也会变得越来越常见。一旦某个服务出现故障,它所依赖的服务也…