MacOS与Linux

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 是自由和开源软件的缩影。您可以根据自己的喜好自由修改和重新打包整个操作系统。您甚至可以将其商业化并从中赚钱,就像红帽企业 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 上安装应用程序的传统方法是通过应用程序文件夹。您从互联网下载要安装的应用程序,然后将其拖到应用程序文件夹中,macOS 将处理剩下的事情。

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

您还可以使用 Homebrew,这是一个包管理器,它在 macOS 上的工作方式与 APT 等 Linux 包管理器非常相似。 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 上运行,反之亦然。

终端命令大部分相似

macOS 终端命令和 Linux 的命令有很多是相似的,因为 macOS 是基于 UNIX 的操作系统。这意味着大部分的常用终端命令在 macOS 和 Linux 上可以通用。

  • ls:查看文件和目录的列表
  • cd:改变当前工作目录
  • mkdir:创建新目录
  • rm:删除文件和目录
  • cp:复制文件和目录
  • mv:移动文件和目录
  • cat:查看文件内容
  • grep:在文件中搜索匹配的文本
  • chmod:修改文件权限
  • chown:修改文件所有者
  • cat: 查看文件内容
  • vi/vim/neovim: 编辑文件
  • netstat: 查看网络连接状态
  • ifconfig: 查看网络配置
  • ps: 查看正在运行的程序
  • kill: 杀死进程

终端命令的不同之处

  • 安装软件包管理器:在 Linux 上,常用的软件包管理器是 apt、yum 和 dnf,而 macOS 使用的是 Homebrew 或 MacPorts
  • 文件树结构:macOS 使用的文件树结构与 Linux 不完全相同,导致一些目录的路径和名称略有不同
  • 网络工具:一些网络工具命令在两个系统上有所不同,例如,macOS 使用 ifconfig 命令而 Linux 使用 ip 命令来配置网络接口
  • 系统服务管理:在 Linux 上,使用 systemctl 命令来管理系统服务,而在 macOS 上使用 launchctl 命令
  • 打包和解压缩文件:在 Linux 上,常用的打包和解压缩命令是 tar 和 gzip,而在 macOS 上常用的是 tar 和 unzip
  • 查看系统信息:macOS 使用 system_profiler 命令,Linux 使用 uname 命令
  • 查看网络配置:macOS 使用 ifconfig 命令,Linux 使用 ifconfigip 命令

桌面环境

在 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 风格。

参考文章