Mac可以帮助我学习Linux吗?


10

上周,我第一次使用Mac。我注意到该外壳与Linux非常相似。我通常在Windows机器上进行开发,并且在Linux方面一无所知。Mac会帮我这个忙吗,还是由于Mac操作系统的细微差别使它变得更糟?


1
这三个答案都是正确的。这完全取决于您想学习什么。我自己是终端用户的常客,当我需要在Linux机器上完成命令行操作时,我感到宾至如归。
丹尼尔·贝克

2
但是,您需要知道,许多常用的工具(cp,,top...)具有不同的命令行开关,我认为是因为Mac OS X使用的是BSD版本。
丹尼尔·贝克

Answers:


11

它当然不会使情况变得更糟。OS X和Linux之间有许多相似之处,如果您开始涉足OS X,那么这些细微差别现在将不再适用。bash shell,脚本工具和许多Linux shell应用程序之类的东西都可用于OSX。

我经常在MacBook上的OS X上进行开发,并在Linux工作站上运行程序。在某一点上,您需要了解Linux与OS X之间的区别(例如,服务的管理方式),但是到那时为止,您将知道在哪里可以找到所需的信息。


2
完全同意。总的来说,获得Powerbook和OS X激发了我对Unix的兴趣。在Terminal进行了几个月的工具开发之后,我很舒服地开始在Linux机器的终端上进行工具开发,然后事情从那里突然失控,我变成了一个庞大的* nix书呆子... OS X仍然是我的口味选择的。
Peelman 2010年

5

当然。

OS X是在XNU内核之上构建的POSIX兼容UNIX操作系统,它包含许多标准的Unix工具,可以从Terminal.app中进行探索。由于符合POSIX,可以重新编译许多为Linux编写的程序以在其上运行。

芬克MacPorts的项目能够帮助延长你可以学习以及工具集。


1
需要注意的是,窗口系统是完全不同的。如果您仅使用终端程序,它们将起作用。如果您使用的是GUI,则需要担心X11 shell在所有内容之上。
Tarka 2010年

3

Linux将帮助您学习Linux。Linux可能会帮助您学习Mac。不过,我不确定Mac是否可以帮助您学习Linux。

您是正确的,Mac OS X和Linux之间有许多相似之处。这是因为它们都基于Unix。但是,存在主要差异。Mac OS X被设置为消费者操作系统。这意味着,除了最详细和最棘手的任务之外,所有任务都具有易于使用的图形界面。Linux最初是作为一个爱好项目而设计的,现在主要用于服务器中。对于普通的台式机用户,Linux每天都在变得越来越好,但是许多常规任务只是假设您可以使用终端。有时没有GUI,或者默认情况下未安装GUI。有时有一个GUI,但是说明已经过时,仍然指向终端,或者作者只是出于习惯使用终端。无论哪种方式,从Mac OS X到Linux仍将使您有一个学习曲线(就像操作系统的任何切换一样)。这也取决于您想了解多少操作系统的深度-如果您正在做诸如驱动程序编程之类的低级工作,它们将大不相同。高级编程可能非常相似。

就是说,有很多相同的东西。您已经注意到shell(可能bash是常见的默认设置)是相同的。同样,许多命令行实用程序喜欢sshrsynctoppsgrep和shell内建的名字,但有几个是相同或非常相似。如果最终在Mac OS X上经常使用该终端,那么您将在Linux上拥有该终端的感觉。


2

我喜欢Mac,它确实提供了良好的(BSD)UNIX体验,但是严格来说,要在您的PC上获得Linux体验,我觉得还有更好的选择。

我个人在我拥有的任何Windows计算机上都使用Cygwin。您可以从http://www.cygwin.com/setup.exe下载安装程序 这些命令基本上与Linux运行的GNU命令相同,因此脚本的运行方式应与Linux非常相似(最大的不同之处在于路径,路径中带有空格。文件名和$ HOME目录路径的可能性更大)。还有各种实用程序可帮助合并UNIX / Windows体验,例如cygpath,cygstart等。

您也可以尝试运行COLinux。Linux内核的一个有趣端口,可以作为Windows进程运行并与Windows干净地交互。我从未尝试过,但是看起来很有希望。 http://www.colinux.org/

如果您只想玩一点,则始终可以从LiveCD或USB驱动器运行。如果您只想尝试,LiveCD很好,但是如果您想做任何实际工作,则希望USB驱动器能够保存并获取更新。

而且总是有双重引导,但是在Windows和Mac Bootcamp上进行设置往往会更加困难。


2
Cygwin确实是bash移植到Windows上的,当您尝试对当前工作目录以外的文件执行unixy / bashy时,这一点变得非常明显。Windows路径和UNIX路径几乎没有用语。Bash比cmd.exe更好,而Windows与Cygwin相比要强于没有Cdg.exe,但是它有点粗糙。我说这是Windows的恢复受害者,现在转移到MacOS(并热爱它及其Unix),现在我的老板已经回到Windows阵营了。
JRobert

我明白您的意思,但是由于您能够添加很大一部分的UNIX工具包,并且它使用UNIX路径,因此您仍然可以在cygwin中完成很多UNIX事情。当然,如果您尝试执行Windows的操作,它的确会崩溃。我们的工作量明显不同,我发现它非常有用。
Rich Homolka 2010年

我对您的使用经验没有异议,我将继续使用它。但是我发现这在两者之间的界限附近令人困惑,并认为Linux学习者会发现它更是如此。
JRobert

0

我不得不说是,但不是完全。是的,取决于您使用Mac命令行(终端)的频率。对于各种事情,我经常使用命令行,并查看OSX的BSD与Linux之间的相似之处。如此之多,从电源/易用性的角度讲,我也将Mac称为“ Linux正确完成了”(请不要发火,我有充分的理由!(对我来说)) 。当然,两者之间有很大的不同(例如,应用程序安装),但在较低的层次上,您可以通过频繁使用Mac的Terminal应用程序来对linux有一个很好的基本了解。

当然,要精通linux,您需要定期使用它。从我的个人经验来看,我猜想精通linux就像其他任何东西一样,可能需要多年的使用,修补和学习。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.