Wie lernt man OS X/Unix besser kennen? [geschlossen]

Ich bin mir nicht sicher, wie ich das fragen soll, aber dieses Problem hat mich so lange beunruhigt.

Ich war lange ein DOS/Windows-Benutzer, bis ich mich vor ungefähr 12 Jahren, als Mac OS X herauskam, dem Mac zuwandte und seitdem hier geblieben bin. Ich bin 32 Jahre alt, also bin ich im Grunde genommen mit textbasierter/Befehlszeilen-Benutzeroberfläche aufgewachsen, beginnend mit DOS 3.1, als 3,5-Zoll-Disketten nicht einmal unterstützt wurden. Ich fühle mich also ziemlich wohl mit der Befehlszeilen-Benutzeroberfläche, kein Problem. Aber das Ding Seit ich zu OS X gekommen bin, habe ich nie wirklich verstanden, wie dieses Betriebssystem funktioniert.

Wie zum Beispiel unter DOS oder frühen Windows-Betriebssystemen. Ich weiß, dass es autoexec.bat und config.sys gibt, an denen ich Änderungen vornehmen kann, damit der Computer beim Start das tut, was ich möchte. Und ich weiß, dass alle grundlegenden Funktionen in einem Verzeichnis namens "Command" gespeichert sind, wo ich das meiste finden kann, was ich brauche, um mich im Betriebssystem zu bewegen. Das Dateisystem ist ziemlich geradlinig. Jede Festplatte hat einen Namen, A, B, C, D, E und so weiter und so weiter, der sich auf der obersten Ebene des Dateisystems zu befinden scheint, was für mich Sinn macht, da alles, was im Grunde in diesen Hardwares gespeichert ist. Und ich weiß auch, wenn ich sage, ich bin in einem bestimmten Verzeichnis, aber ich muss eine Funktion verwenden, die sich nicht in diesem Verzeichnis befindet, kann ich das Verzeichnis dieser Funktion in "PATH" einfügen, damit ich es verwenden kann, wo immer ich will.

Aber auf dem Mac (und dasselbe auf Linux. Ich habe es einige Male versucht, bin aber irgendwie an der gleichen Stelle hängengeblieben), ich weiß nicht, wie man das alles macht. Nicht, dass ich so etwas jeden Tag machen müsste, da wir die allmächtige GUI haben, aber wenn ich sie brauche, ist es wirklich ein großes Problem für mich. Zum Beispiel muss ich manchmal etwas installieren, das einige Kommandozeilenkenntnisse erfordert, wie Octave. Nach einiger Recherche weiß ich, dass ich einen Paketmanager wie Fink, Macport oder Homebrew verwenden muss. Wenn sie einfach out-of-the-box funktionieren könnten, würde ich hier nicht danach fragen. Das Problem ist sehr oft, dass sie es nicht tun. Sie bleiben während der Installation fast immer irgendwo hängen. Und es gibt auch immer ein wesentliches Wissen, das ich nicht kenne, wie ich kann unter den drei wählen, aber ich kann' Verwenden Sie nicht zwei davon gleichzeitig mit meinem Paketmanager, sonst könnte etwas schief gehen. OK, etwas könnte schief gehen ... woher soll ich das wissen, bevor etwas wirklich schief geht? Warum ist dieser Fall? Warum kann ich nicht beide gleichzeitig verwenden? Wenn ich sie installiere, wo legen sie die Binärdateien ab? Wird Homebrew das Verzeichnis in den Standardpfad legen, damit ich es verwenden kann, wann immer ich will? Wenn während der Installation eine Warnung oder ein Fehler angezeigt wird, sollte ich diese einfach ignorieren?

Als ich zum ersten Mal versuchte, Octave auf meinem Mac zu installieren, habe ich tatsächlich alle drei ausprobiert, ohne zu wissen, dass ich nicht alle drei gleichzeitig verwenden kann. Aber was konnte ich sonst tun, nachdem ich gesehen hatte, dass sowohl Fink als auch Macport den Job nicht bestanden hatten. Und als ich das letzte Mal versuchte, Octave zu installieren, brauchte ich buchstäblich drei Tage. Denn dabei habe ich bereits gelernt, dass ich nicht alle drei verwenden kann und ich sollte auch Homebrew verwenden, weil es das ist, was vorher funktioniert hat. Also habe ich 3 Tage gebraucht, um spontan im Internet zu recherchieren, ohne Erfolg, und dann dachte ich, ich probiere Fink einfach noch einmal aus, und es hat funktioniert! Ich verstehe einfach nichts davon ... Und ich sollte mich glücklich schätzen, dass ich es überhaupt zum Laufen gebracht habe, denn bisher habe ich immer noch keinen Weg gefunden, numpy auf meinem Python 3 zu installieren. Und weiß es nicht wie lange hatte ich jetzt gebraucht...

Es ist dasselbe wie damals, als ich es mit Linux versuchen wollte. Ich kenne mich ein wenig mit Codierung aus. Obwohl ich hauptsächlich Python verwende, habe ich immer noch ein paar Kenntnisse in Sprachen wie C/C#. Ich weiß also, was Kompilieren bedeutet. Das Problem mit Linux (und auch Mac) ist, wenn ich etwas installieren möchte, muss ich oft zuerst die Binärdateien aus dem Quellcode kompilieren. Und beim Kompilieren kann vieles schiefgehen (wozu ich nicht weiß warum). Und die Suche im Internet kann mir nicht helfen, da die meisten Antworten im Internet ad-hoc-basiert sind. Sie sagen Ihnen, Sie sollten diesen oder jenen Befehl ausprobieren und sehen, ob das funktioniert. Manchmal geht es, manchmal nicht. Aber das Problem ist, selbst wenn es funktioniert und das Problem löst, weiß ich immer noch nicht, warum es funktioniert. An dieser Stelle weiß ich noch nicht, sagen, wenn ich den Quellcode endlich fertig kompiliert habe, wo ist die Binärdatei? Ist die Binärdatei, die ich bekomme, die eigentliche Anwendung oder ist es nur ein Installationsprogramm? Wenn es sich um ein Installationsprogramm handelt, wie installiere ich es? Wo installiere ich es? Und auch bei der Installation kann etwas schief gehen. Wie ich bereits sagte, hilft der Rückgriff auf das Internet in diesem Fall nicht wirklich, denn selbst wenn ich es diesmal zum Laufen bekomme, muss ich das nächste Mal, wenn etwas Ähnliches passiert, immer noch die ganze Internet-Recherche-Sache durchmachen . Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich wie ein Sisyphus fühlt, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ... Wo ist die Binärdatei? Ist die Binärdatei, die ich bekomme, die eigentliche Anwendung oder ist es nur ein Installationsprogramm? Wenn es sich um ein Installationsprogramm handelt, wie installiere ich es? Wo installiere ich es? Und auch bei der Installation kann etwas schief gehen. Wie ich bereits sagte, hilft der Rückgriff auf das Internet in diesem Fall nicht wirklich, denn selbst wenn ich es diesmal zum Laufen bekomme, muss ich das nächste Mal, wenn etwas Ähnliches passiert, immer noch die ganze Internet-Recherche-Sache durchmachen . Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich wie ein Sisyphus fühlt, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ... Wo ist die Binärdatei? Ist die Binärdatei, die ich bekomme, die eigentliche Anwendung oder ist es nur ein Installationsprogramm? Wenn es sich um ein Installationsprogramm handelt, wie installiere ich es? Wo installiere ich es? Und auch bei der Installation kann etwas schief gehen. Wie ich bereits sagte, hilft der Rückgriff auf das Internet in diesem Fall nicht wirklich, denn selbst wenn ich es diesmal zum Laufen bekomme, muss ich das nächste Mal, wenn etwas Ähnliches passiert, immer noch die ganze Internet-Recherche-Sache durchmachen . Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich wie ein Sisyphus fühlt, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ... Wie installiere ich es? Wo installiere ich es? Und auch bei der Installation kann etwas schief gehen. Wie ich bereits sagte, hilft der Rückgriff auf das Internet in diesem Fall nicht wirklich, denn selbst wenn ich es diesmal zum Laufen bekomme, muss ich das nächste Mal, wenn etwas Ähnliches passiert, immer noch die ganze Internet-Recherche-Sache durchmachen . Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich wie ein Sisyphus fühlt, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ... Wie installiere ich es? Wo installiere ich es? Und auch bei der Installation kann etwas schief gehen. Wie ich bereits sagte, hilft der Rückgriff auf das Internet in diesem Fall nicht wirklich, denn selbst wenn ich es diesmal zum Laufen bekomme, muss ich das nächste Mal, wenn etwas Ähnliches passiert, immer noch die ganze Internet-Recherche-Sache durchmachen . Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich wie ein Sisyphus fühlt, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ... Ich muss die ganze Sache mit der Internetrecherche noch einmal durchgehen. Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich wie ein Sisyphus fühlt, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ... Ich muss die ganze Sache mit der Internetrecherche noch einmal durchgehen. Es ist wirklich zeitaufwändig und frustrierend, weil man nicht weiß, was man tut, und sich fühlt, als wäre man Sisyphus, der immer wieder versucht, den Felsen auf die Spitze des Berges zu bringen, nur um zu sehen, wie er wieder herunterrollt ...

Also meine Frage ist folgende:

Gibt es ein Buch oder einen Online-Kurs, der mir helfen kann, dem auf den Grund zu gehen? Verglichen damit, weitere 100 Stunden mit der Suche im Internet zu verbringen und immer noch an der gleichen Stelle hängen zu bleiben, verbringe ich diese 100 Stunden lieber (und ich würde annehmen, dass es weit weniger sein würde), um eine solide Grundlage für mein Verständnis von Unix zu schaffen wie System.

Es ist ein langer Artikel, also vielen Dank für das Lesen!

Diese Frage ist sehr weit gefasst. Bitte bearbeiten Sie es, um genauer zu sein. Sie können sich auch apple.stackexchange.com/questions/105774/… ansehen - es deckt ein wenig von dem ab, was Sie fragen.
Dies ist wahrscheinlich keine angemessene Antwort für OP, aber für andere, die diese Frage im Internet finden: Wenn Sie ein Programmierer sind und wirklich verstehen möchten, wie UNIX funktioniert, empfehle ich APUE
Herzlich willkommen auf der Seite. Um ehrlich zu sein, ist dies wirklich zu lang und wird wahrscheinlich von der Community geschlossen. Lassen Sie uns jedoch auf den Seiten der Hilfe ein wenig lesen, wie man eine gezielte Frage stellt, und sehen, ob Sie ein oder zwei der dringendsten Dinge finden, die Sie nicht verstehen, und sie fragen, sobald Sie ein wenig nachgedacht haben und den Spielraum verengt. So wie es aussieht, ist es eine Einkaufsfrage für ein Buch oder einen Kurs und nicht wirklich ein Problem des Umfangs, in dem Stack Exchange gut funktioniert.
Die Unix-Grundlage von macOS basiert auf FreeBSD ( freebsd.org ). Und das FreeBSD-Handbuch hat eine gute Einführung in Unix - docs.freebsd.org/en/books/handbook/basics - Beginnen Sie einfach mit 3.3 "Benutzer und grundlegende Kontoverwaltung" und lesen Sie einfach die Einführungen jedes Abschnitts, um die Unix-Methode zu verstehen Dinge auf dem Betriebssystem zu tun. (Ignorieren Sie die Befehle, da einige der FreeBSD-Befehle von Apple durch eigene Befehle ersetzt wurden).

Antworten (4)

Apple bietet einen kostenlosen Shell-Skript-Primer an, auf den Sie hier zugreifen können:

Diese sind beide kostenlos.

Es gibt auch Learning Unix für OS X (12 $ E-Book)

Ich empfehle auf jeden Fall Homebrew , da es die am aktivsten gepflegte der 3 Varianten zu sein scheint.

Macports wird definitiv aktiv gepflegt
Macports ( macports.org ) ist viel besser, sicherer, schneller und hat mehr Pakete als Homebrew und ist eine gut gepflegte und ausgereifte Software. Es wurde von Apple-Mitarbeitern erstellt, die auch am FreeBSD-Portierungssystem gearbeitet haben.

Dies ist das Buch, mit dem ich mich mit Unix vertraut gemacht habe: http://www.amazon.com/Mac-OS-Tiger-Unix-Geeks-ebook/dp/B0043EWTXK/ref=sr_1_2?ie=UTF8&qid=1386847146&sr=8- 2&keywords=mac+os+unix+Geek

Es ist wirklich gut geschrieben, enthält aber eine Menge 10.4-Dinge, die geändert oder leicht modifiziert wurden. Ich bin sicher, dass Sie billige Kopien davon finden könnten. Die Punkte von TJ sind auch fantastisch und können sie auch sehr empfehlen. Viele großartige Online-Ressourcen, um sich mit Unix vertraut zu machen.

Die UNIX-Dateisystemhierarchie verwendet keine MS-DOS / Windows-Typ "Laufwerksbuchstaben", sondern alle Dateisysteme fallen unter / (die oberste Ebene).

Ein UNIX-Rechner kann mehrere Festplatten und/oder Partitionen haben, aber nur eine, wenn sie als / gemountet sind. Der Rest ist irgendwo unter / eingehängt (entweder auf dieser Ebene oder einer niedrigeren Ebene).

Angenommen, ich habe 4 Festplatten und möchte sie alle verwenden:

Disk 1: gemountet unter / Disk 2: gemountet unter /extra-disks (muss zuerst ein leeres Verzeichnis /extra-disks erstellen) Disk 3: gemountet unter /extra-disks/music (muss zuerst ein leeres Verzeichnis /extra-disks/music erstellen) Datenträger 4: gemountet unter /extra-disks/database (muss auch hier zuerst erstellt werden)

Oder ich könnte die Installation des Betriebssystems selbst so aufteilen:

Datenträger 1: / Datenträger 2: /usr Datenträger 3: /usr/local Datenträger 4: /var

Um ein Verzeichnis vorübergehend im Suchpfad eines Benutzers abzulegen, öffnen Sie ein Terminal und geben Sie Folgendes ein:

export PATH=$PATH:/extra-disks/database

Abhängig von der von Ihnen verwendeten Shell gibt es auch Möglichkeiten, dies dauerhaft zu tun. Wenn Ihre Shell bash ist, können Sie Ihr .bash_profile bearbeiten und den oben erwähnten Exportbefehl hinzufügen / bearbeiten. Dadurch wird die Änderung dauerhaft, beginnend mit der nächsten Anmeldung.

Nebenbei bemerkt, die Mac-GUI mountet Datenträger /Volumesautomatisch, ohne dass Sie etwas erstellen müssen.

Wenn Sie Vorkenntnisse haben und keine Angst vor der Befehlszeile haben. Ich würde vorschlagen, Archlinux in einer Virtualbox zu installieren und damit zu spielen. Der Installationsprozess wird Ihnen viel über Linux/Unix-Grundkenntnisse verraten. Pacman und AUR werden Ihnen von einem netten Paketmanager und einer Community erzählen . Verglichen mit der Komplexität von OS X ist Archlinux einfacher für das Verständnis von Linux/Unix. Ich persönlich finde auch OS X Paketmanager wie Homebrew ziemlich verwirrend und nervig und bevorzuge den Arch Way.

Ich denke, das Wissen, das Sie beim Spielen damit gewonnen haben, wird Ihnen helfen, OS X-Probleme in Zukunft zu lösen.