您当前的位置:首页 >> 家居装修

再忽略一遍:Unix 不是 Linux!

2023-04-13 12:16:01

摘要:服务器端员都告诉他,Linux 不是 Unix,不过二者之间或许存在关系,即 Linux 该系统都是 Unix 是从出来的,而 Linux 是一个类 Unix 的操作该系统。那么,二者之间确切存在哪些引人注意的不同呢?

原文文档:

声明:本文为 CSDN 译者,未经授权,禁止转载。

作者 | Mohamed Akram译者 | 锥状制作公司 | CSDN(ID:CSDNnews)

网上很多有关POSIX和Unix用以的教程和指南显然假设你配置了Linux,或者更确切地说,配置了基于GNU的操作该系统。然而,在揭示shell的行为、用以服务器端以及C的标准原则特时,这种假设不一定就会产生很大的影响。

虽然Linux的收纳导地位可能就会让我们忽视Linux与这些操作该系统的各不相同,但我们还是不应有一定的了解。在本文中会,我将列出一些比较引人注意的不同。

Bash不是标准原则的shell

所有Unix该系统上的匹配shell都是sh,而不是bash。POSIX标准原则中会介绍了sh中会常用的词汇。然而,在许多Linux该系统上,sh只是对齐bash的文档,这样可以用更差不多标准原则的方式则来常用bash,但人们依然可以常用一些无法在其他该系统上常用的bash功能。如有疑问,请参阅标准原则。

Unix不都有稍长可选择

Unix指令的可选择有两种发音:更长可选择(只有一条更长线-)与稍长可选择(有两条更长线;还有)。更长可选择一般就会采用缩写的表现形式,而稍长可选择一般就会写出完整的单词。

许多用以服务器端都接受稍长可选择,例如grep ;还有count,对应的更长可选择是grep -c。前者是GNU的发音,其他该系统通常不就会采用这种发音,例如BSD。事实上,标准原则的getopts用以服务器端和确切来说的getopt Cformula_只支持者更长可选择。

Make各不相同于GNU make

POSIX完整版的make比GNU完整版更有局限性。这个解决办法很难补救,因为原则的许多方面都大大加上,特别是范式或先决条件运算符。为了补救这个解决办法,你可以将一些范式移动到configure脚本,由这个脚本降解另一个Makefile,然后再都有到收纳元数据中会。此外,BSD的字词与GNU完全各不相同,例如先决条件语句。幸运的是,如果你只关注macOS和Linux,则可以着急地常用GNU的功用,因为macOS都是基于GNU的。

CAPI各不相同于GCC

在Makefiles元数据中会引述CAPI时,不错常用数据类型$(CC),在编译C++code时,不错常用数据类型$(CXX)。大多数BSD该系统的匹配API如今都改成常用Clang了,而且不获取gcc可执行元数据。如果是在Makefiles以外常用C和C++API,则可以直接常用cc和c++指令,这两个指令能在所有该系统上指导工作。

GNU各不相同于Linux

二者略有各不相同,GNU接口不一定就会注意到在Linux该系统上。例如,Alpine Linux发行版因其轻量级而风行于Docker容器中会,它没有常用musl的GNU C特,而且退出了GNU用以服务器端,改成常用BusyBox。因此,不错还是常用可移植的接口,即便你的目的只是Linux该系统。

Unix各不相同于UNIX

最终,请注意,Unix与UNIX也不完全相同。后者是需要The Open Group验证的商标。在众多经过验证的操作该系统中会,最有名的是macOS,它遵循一切UNIX原则。也就是说,包括BSD在内的大多数类Unix该系统以及GNU用以都在努力尽量严守标准原则。

昆明甲状腺医院哪个好
北京治疗阳痿医院
江中多维元素片
哈尔滨看男科去哪个医院
贵阳哪家医院做人流比较好
相关阅读
友情链接