我需要 Linux 发行版来学习命令行还是 OS X 就足够了?

Utk*_*tku 12 linux command-line osx

我将学习如何使用命令行。具体来说,我将使用这本书:“Linux 命令行:完整介绍”。现在,我是否必须使用 Linux 发行版来浏览本书,还是 OS X 就足够了?

如果我需要 Linux 发行版,那么通过 VM 使用它就足够了,还是需要在本地安装它?

seu*_*mac 33

我强烈建议在 VM 中运行 Linux。所有软件都可以免费下载,在 VM 中运行和为了学习命令行而在本地运行之间没有实际区别。

此外,Linux 命令行主要由bash + GNU coreutils 组成,这与 BSD Unix 非常不同(而 OS X 是 BSD Unix 的继承者)。在 BSD Unix 和 GNU Linux 中编写参数的偏好存在很大差异。即使是非新手,您也可以使用与标准实用程序不同的选项(例如pstar如果您在两个系统上工作),也可以咬自己。

当您的书是 Linux 特定的时使用 OS X 会经常抛出不一致和差异,当您更有经验时,这些不一致和差异会显得很肤浅,但在您学习时只会令人困惑。为自己保持轻松。

这也将允许您进行试验,而不必担心删除或更改任何重要文件而损坏您的机器。

最后一点,虽然并非最不重要,但它允许您从 OS X 终端设置到 VM 的 SSH 连接,因此您可以习惯使用 SSH 密钥,并且您的 Linux 服务器没有任何区别是本机机器、本地虚拟机,或者在 AWS 或 Digital Ocean 上运行:一切都一样!

  • 是的。出于您的目的,它与本机安装完全相同。 (3认同)

cas*_*sey 18

OS X 足以学习命令行,因为它是经过认证的 UNIX 并且符合 POSIX。如果您正在查看特定于 Linux 的命令行手册,您必须记住,OS X 中的用户空间工具源自 BSD,而 Linux 上的工具是 GNU,并且它们之间存在一些细微(而不是那么细微)的差异。

如果您想学习 GNU 工具,您可以通过 macports 或自制软件安装 GNU 用户空间,或者可以在 VM 中进行完整的 Linux 安装。


Spa*_*awk 9

到目前为止,一些不错的答案,但远离默认 OS X 命令行工具的另一个原因是它们是非常旧的版本。例如,OS Xgrep是 2004 年的,bash是 2007 年的!的原因是,苹果拒绝在GPL3下许可船工具。

如果您不想正确安装 Linux,您可以手动安装最新版本(可能通过某些端口系统,如 MacPorts、Fink 或 Homebrew)。