Ich verstehe, was ein logisches Arbeitsverzeichnis ist. Wenn Sie einen symbolischen Link zu einem Verzeichnis erstellen und dann cd
über den symbolischen Link zu diesem Verzeichnis, wird Ihr logisches Arbeitsverzeichnisder Pfad des symbolischen Links + der symbolische Link selbst! Zum Beispiel:
$ pwd
/home/john/this_is_a_symbolic_link
Aber was genau ist der Vorteil eines logischen Arbeitsverzeichnisses?
Antwort1
Ein etwas komplizierter Anwendungsfall:
Auf manchen Systemen können die Home-Verzeichnisse der Benutzer beispielsweise von einemAutomounter(wie unter Solaris).
Ausder Wikipedia-Artikel „Automounter“:
Der Automounter dient dazu, lokale Systemressourcen zu schonen und die Kopplung zwischen Systemen zu reduzieren, die Dateisysteme mit mehreren Servern gemeinsam nutzen. Beispielsweise kann eine große bis mittelgroße Organisation Hunderte von Dateiservern und Tausende von Arbeitsstationen oder anderen Knoten haben, die jederzeit auf Dateien von einer beliebigen Anzahl dieser Server zugreifen. Normalerweise ist zu einem bestimmten Zeitpunkt nur eine relativ kleine Anzahl von Remote-Dateisystemen (Exporte) auf einem bestimmten Knoten aktiv. Wenn das Mounten eines solchen Dateisystems verschoben wird, bis ein Prozess tatsächlich darauf zugreifen muss, muss das Mounten nicht mehr nachverfolgt werden, was die Zuverlässigkeit, Flexibilität und Leistung erhöht.
Der Automounter kann eine home
NFS-Freigabe von einem zentralen Dateiserver unter einem Pfad wie /a
oder oder ähnlich mounten und dann beim Anmelden /tmp_mnt
einen symbolischen Link von /tmp_mnt/home/steve
(dem physischen Home-Verzeichnis) zu (dem logischen Home-Verzeichnis) erstellen./home/steve
Dies hat den Vorteil, dass, wie im Wikipedia-Artikel erwähnt, nur ein einziges Mounten der home
NFS-Freigabe erforderlich ist, selbst wenn mehrere Benutzer aktiv sind. Wenn das Home-Verzeichnis einer Person nicht mehr verwendet wird, kann der symbolische Link entfernt werden, und wenn alle Benutzer abgemeldet sind, kann die gemountete NFS-Freigabe sogar vollständig ausgehängt werden.
Ein einfacheres Beispiel:
Angenommen, Sie haben nicht mehr genügend Speicherplatz auf /usr/local
. Sie können dann neue Festplatten hinzufügen und diese beispielsweise als /data/disk1
und mounten. Anschließend können Sie den alten Inhalt von nach und nach /data/disk2
kopieren und und als symbolische Links zu diesen beiden Verzeichnissen neu erstellen ./usr/local/bin
/data/disk1
/usr/local/lib
/disk/data2
/usr/local/bin
/usr/local/lib
Wenn Sie das Verzeichnis mit ändern, cd /usr/local/bin
gelangen Sie physisch zu , /data/disk1
logischerweise jedoch in /usr/local/bin
. Dies hat auch zur Folge, dass beim Zugriff auf Dienstprogramme von /usr/local/bin
transparent auf deren physischen Speicherort in zugegriffen wird, ohne dass Sie Ihre Variable /data/disk1
aktualisieren müssen .$PATH
Noch einer:
Sie können einen symbolischen Link von einem vom Benutzer bereitgestellten USB-Stick oder einem anderen Speichergerät irgendwo unter erstellen /media
. Der Vorteil dabei ist, dass Sie direkt darauf zugreifen /home/steve/my_work_files
können und sich nicht merken müssen, wo sich Ihre Dateien befinden.cd
~/my_work_files
/media
Antwort2
$ cd this_is_a_symbolic_link
…
$ pwd
$ cd ..