Wie kann ich feststellen, ob mein System Unix oder Linux ist?

8

Wie kann ich feststellen, ob mein System Unix oder Linux ist?

Ich verwende ein Macbook Pro aus dem Jahrgang 2010.

Ivan King
quelle
7
Wie viel hast du dafür bezahlt?
Mikeserv
3
Es gibt (mindestens) vier verschiedene Definitionen des Begriffs "Unix": 1) die Reihe von Betriebssystemen von Bell Labs, 2) die Familie der Betriebssysteme, die aus dem Quellcode von 1) abgeleitet sind, 3) jedes Betriebssystem System, das die Zertifizierung durch The Open Group (oder 3a) bestanden hat, jedes Betriebssystem, das die Zertifizierung durch The Open Group bestanden hat, sich aber die Zertifizierungsgebühr nicht leisten kann), 4) jedes Betriebssystem, das wie "Unix" aussieht und sich anfühlt. Mit Ausnahme von Spezialdistributionen wie Android fallen beispielsweise die meisten Linux-Distributionen unter 4), einige unter 3a) und einige unter 3).
Jörg W Mittag
1
OTOH, obwohl OSX unter 2) und 3) fällt, würde ich argumentieren, dass es nicht unter 4) fällt. Windows NT erfüllt zumindest in einigen Versionen 3), aber definitiv nicht 4).
Jörg W Mittag

Antworten:

17

POSIX definiert uname("Unix-Name"), um Informationen über das Betriebssystem und die Hardwareplattform bereitzustellen. running unamegibt den Namen der Implementierung des Betriebssystems (oder gemäß der coreutilsDokumentation den Kernel) an. Sie können dies interaktiv in einem Terminal tun oder die Ausgabe in einem Skript verwenden.

unameWird auf Linux-Systemen gedruckt Linux.

unameWird auf Mac OS X-Systemen gedruckt Darwin. (Genau genommen wird dies von jedem Betriebssystem mit einem Darwin-Kernel erzeugt, aber in diesem Fall ist es sehr unwahrscheinlich, dass Sie auf etwas anderes als Mac OS X stoßen.)

Auf diese Weise können Sie feststellen, welcher Mac ausgeführt wird. Wie Rob betont, führen Sie unter Mac OS X ( Darwinwie durch angegeben uname) eine zertifizierte Version von Unix aus . Wenn Sie Linux verwenden, sind Sie es nicht.

Auf einem Mac gibt es viele andere Möglichkeiten; Ihr Skript könnte unter Solaris ( unamewird SunOSdann gedruckt ), unter FreeBSD ( FreeBSD), unter Windows mit Cygwin ( CYGWIN), MSYS oder MSYS2 ( MSYS), einer MinGW- oder MinGW-w64-Shell ( MINGW64, MINGW32), Interix ( Interix) und wahrscheinlich unter anderen ausgeführt werden Ich bin mir nicht bewusst.

uname -adruckt alle verfügbaren Informationen aus, wie von bestimmt uname, aber es ist schwieriger zu analysieren.

Stephen Kitt
quelle
Das Problem ist, dass uname nicht beweist, dass Unix ausgeführt wird. Es gibt nur einen Namen des Betriebssystems an, bei dem es sich möglicherweise nicht um ein Unix-System handelt. Linux zum Beispiel ist nicht Unix.
Rob
@Rob, nirgends haben Stéphane oder ich das gesagt; Tatsächlich unterscheiden wir explizit zwischen Linux und Unix (oder besser Mac OS X).
Stephen Kitt
3

Sofern Sie nichts anderes installiert haben, wird auf Macs kein Linux ausgeführt. Auf Macbooks wird das Apple-Betriebssystem OSX ausgeführt, das als Unix zertifiziert ist und daher die Antwort auf Ihre Frage darstellt.

rauben
quelle
Natürlich sind einige Linux-Versionen auch Unix-zertifiziert, daher stellt sich die Frage, ob Linux oder Unix ausgeführt wird.
Jörg W Mittag
@ JörgWMittag Ich sehe, dass die einzige Linux-Version, die als Unix zertifiziert ist, ein LDAP-Server ist, auf dem SUSE von IBM ausgeführt wird, aber keine anderen sind oder waren oder werden es wahrscheinlich jemals sein. Meine Antwort bleibt jedoch dieselbe. Wenn er Linux nicht auf einem Mac installiert hat, läuft OSX, Unix.
Rob
2

Die Antwort ist:

uname -a

Oder:

cat /proc/version
Baazigar
quelle
Öffnen Sie ein Terminalfenster und geben Sie 'uname -a' ein. Kehren Sie dann zurück.
Baazigar
1
Was kann ich über das Betriebssystem ableiten, wenn cat /proc/versiondie Fehlermeldung angezeigt wird cat: /proc/version: No such file or directory?
Kasperd
Schauen Sie sich / etc / fstab an, sehen Sie sich die dort angegebenen Dateitypen an. Wenn es wie ext3, ext4, xfs ist, ist es Linux. Wenn es wie jfs, gpfs, hfs, hfs + ist, ist das Unix.
Baazigar
Wenn Sie sehen xfs, könnte es IRIX sein ;-). (Aber nicht auf einem Mac, das gebe ich dir!)
Stephen Kitt