Kann nicht in Alias ​​cd

Ich habe zwei Aliase in meinem Home-Verzeichnis: devbootcampund bookshelf. Ich kann cdhinein devbootcamp, aber nicht bookshelf, aber ich bin mir nicht sicher, warum. Ich kann mich nicht erinnern, wie ich den Alias ​​erstellt habe, devbootcampaber ich habe dieses Tutorial befolgt, um den bookshelfAlias ​​zu erstellen. Auch komisch in meinem Terminal devbootcampist lila aber bookshelfnicht. Wie mache ich es, damit sie die gleiche Funktionalität haben?

Geben Sie hier die Bildbeschreibung ein

Was ls -lzeigt
cd'ing in Alias ​​aktivieren: Wie gehe ich vom Terminal zum Alias?
Wenn Sie in CLI auf Alias ​​zugreifen möchten, ist dieser Tipp hilfreich.

Antworten (1)

Wenn Sie versuchen, cdin einen Alias ​​zu gelangen , wird es nicht funktionieren; Dies ist beabsichtigt, da ein Alias ​​auf der Finder-Ebene funktioniert, nicht auf der zugrunde liegenden UNIX-Ebene.

Ich habe einige der Schlüsselaspekte von Aliassen , symbolischen Links (Symlinks) und festen Links aus dem Artikel „ Was sind Aliasse, symbolische Links und feste Links in Mac OS X? “ weiter unten entnommen.


Aliase

Diese Art von Verknüpfung ist die älteste für den Mac; seine Wurzeln reichen bis zu System 7 zurück. Aliase werden auf der Finder-Ebene erstellt und verwaltet, was bedeutet, dass ein Alias ​​nicht verwendet wird, wenn Sie Terminal oder eine Nicht-Mac-Anwendung wie viele UNIX-Apps und -Dienstprogramme verwenden Arbeit. OS X scheint Aliase als kleine Datendateien zu sehen, was sie auch sind, aber es weiß nicht, wie es die darin enthaltenen Informationen interpretieren soll.

Symbolische Links

Diese Art von Verknüpfung ist Teil von UNIX- und Linux-Dateisystemen. Da OS X auf UNIX aufbaut, unterstützt es symbolische Links vollständig. Symbolische Links ähneln Aliasen darin, dass es sich um kleine Dateien handelt, die den Pfadnamen zum ursprünglichen Objekt enthalten. Aber anders als Aliase enthalten symbolische Links nicht den Inode-Namen des Objekts. Wenn Sie das Objekt an einen anderen Ort verschieben, wird die symbolische Verknüpfung unterbrochen und das System kann das Objekt nicht finden.

Harte Links

Wie symbolische Links sind harte Links Teil des zugrunde liegenden UNIX-Dateisystems. Feste Links sind kleine Dateien, die wie Aliase den Inode-Namen des ursprünglichen Elements enthalten. Im Gegensatz zu Aliasen und symbolischen Links enthalten harte Links jedoch nicht den Pfadnamen zum ursprünglichen Objekt. Normalerweise verwenden Sie einen festen Link, wenn Sie möchten, dass ein einzelnes Dateiobjekt an mehreren Stellen angezeigt wird. Anders als bei Aliasen und symbolischen Links können Sie das ursprüngliche fest verknüpfte Objekt nicht aus dem Dateisystem löschen, ohne zuerst alle festen Links zu ihm zu entfernen.

Was sowohl im Terminal als auch im Finder funktioniert

Erstellen Sie einfach einen Symlink im Terminal

ln -s <path to some folder> <destination of link>

Zum Beispiel habe ich auf meinem Desktop einen Symlink zu meinem /VolumesOrdner erstellt

ln -s /Volumes /Users/allan/Desktop/Volumes

Auf meinem Desktop habe ich automatisch dieses Icon bekommen:

Geben Sie hier die Bildbeschreibung ein

Sie können ihm sogar einen anderen Namen geben:

ln -s /Volumes /Users/allan/Desktop/Stuff

Und automatisch...

Geben Sie hier die Bildbeschreibung ein

Tolle Erklärung. Es hat mir geholfen, abstrakt darüber nachzudenkenln -s [what/dir] [to/where]
Bitte beachten Sie, dass, wenn kein Terminalzugriff erforderlich ist, stattdessen immer das Gegenstück des mac-Alias ​​verwendet wird . Dies liegt daran, dass es auch den Speicherort der verknüpften Datei verfolgt und sich automatisch aktualisiert . Versuchen Sie, , auszuführen mkdir a b; cd b; ln -s ../a .;, und verschieben Sie dann das ursprüngliche Verzeichnis von aan einen anderen Ort. Der symbolische Link wird beschädigt . Wiederholen Sie dies jetzt für den Mac-Alias, es wird funktionieren .
@ed9w2in6 - Bitte beachten Sie, dass, wenn der Terminalzugriff nicht erforderlich ist ... . Die gesamte Prämisse der Frage bezieht sich auf den Terminalzugriff. Sie cdverwenden den Finder nicht, oder?