我是一名计算机科学辅修课程,自从我开始深入研究计算机科学以来,我确实非常欣赏* nix。我曾经是一个Windows粉丝男孩,现在我拥有两个Mac(以及我的PC上有windows和ubuntu)。
我想更多地了解linux的开发方式。我知道linux只是内核而GNU实际上是我与之交互的最多。所以当我在使用unix的mac上键入ls -al
时,我在PC上的Ubuntu启动时输入ls -al
时有什么不同?差异实际上在于linux和unix之间的区别吗?或者unix是否使用非GNU库来处理ls
和cd
等内容?
那么linux和unix的区别究竟是什么? Unix是否为ls
,cd
以及所有常见的终端操作使用GNU库?
答案 0 :(得分:2)
首先,你需要知道... L inux 我 s N ot U NI <强> X 即可。 :)
很好的问题,但很难直截了当地回答。 内核是不同的。设计不同。软件不同(!)
也就是说,如果你有Mac OS X(UNIX),你可以构建几乎所有为Linux编写的命令行工具。 大多数免费的开源软件都兼容Linux和UNIX,因此根据您的级别,您可能永远不会知道它们的区别。
但从技术上讲,这是一个巨大的差异。如果您处于硬件和驱动程序级别,您将开始注意到差异,但如果您超过这些级别,则可以轻松编写可移植代码。
有些人会声称Linux是穷人的UNIX(可能也是如此),而其他人会说Linux修复了UNIX所带来的问题。
由于问题的性质(相当广泛),很难详细介绍。 我与两者合作,并没有感觉到巨大的差异。我的UNIX是为我设置的,所以我基本上是一个新手用户,但我必须自己安装和配置我的Linux系统的一部分。 我会说(在我看来),大多数时候,Linux是你自己构建的,你决定你想要哪些组件。另一方面,UNIX是一个更大的包#34;虽然你仍然可以添加组件。
从不同的角度来看:Linux是开源的,免费的,有些版本的UNIX不是。 UNIX经常出现在大公司的企业服务器中。
接受像&#39; ls&#39;如你所说。旧版本的UNIX有一个名为&#39; lc&#39;列出了目录而不是文件(据我记得)。在Mac OS X所基于的UNIX中不存在此命令,因此UNIX和UNIX之间存在差异。 另一方面,Linux没有直接复制UNIX命令&#39; ls&#39;。输出通常略有不同,开关也不同。但! 如果您正在运行Bash,那么Mac OS X上的Bash很可能与您在Linux上使用的Bash完全相同,只是版本不同。 如果你有卷曲&#39;在你的Mac上,&#39; curl&#39;在Linux上,然后它 IS 是同一个工具,因为它是从相同的源构建的;它只是为两种不同的操作系统而构建的。 海湾合作委员会也是如此。 ( G NU N ot U nix - 但它在UNIX上运行良好。)
如果您安装了gitolite服务器(我非常喜欢),您将体验到它不会安装在Mac OS X 10.5.8的库存中;这是因为&#39; cp&#39;命令不同。当我向他建议一个适用于所有平台的解决方案时,作者拒绝纠正这个问题。所以&#39; cp&#39;可能并不总是100%兼容,我不知道升级是否是一个好主意,因为&#39; cp&#39;您现在已经与Apple随系统提供的脚本兼容。升级&#39; cp&#39;到不同的版本可能会破坏兼容性,这可能意味着您的系统已损坏,需要重新安装。 - 所以不升级那个特定的命令会更好。 ;)