Mac nix basteln:softlinks hardlinks alias

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche

Unter Mac OS X gibt es drei Wege Verknüpfungen auf Dateien oder Verzeichnisse zu erzeugen:

  1. soft = symbolic links
  2. hard links
  3. alias

Zunächst sollte man sich merken, dass der wahre, ein-eindeutige Name einer Datei im Dateisystem nicht der Dateiname ist, den der Benutzer normalerweise sieht, sondern der sog. inode. Der inode ist eine Zahl. Zunächst erzeugen wir eine Testdatei mit dem Inhalt "Test" und lassen uns den inode über ls -i anzeigen:
$ echo "test" > testdatei
$ ls -i testdatei
Dies zeigt: 28006897 testdatei

  1. soft link
    Mit dem Ausdruck soft link ist das selbe gemeint wie mit symbolic link. Es ist lediglich eine Verknüpfung auf Pfad & Name der Datei.
    $ ln -s testdatei testsoftlink
    $ ls -i testsoftlink

    Zeigt: 28006919 testsoftlink. Der inode von testsoftlink ist also ≠ dem von testdatei. Lässt man sich den Inhalt von testsoftlink anzeigen
    $ cat testsoftlink
    ist dieser identisch zu testdatei. Bennent man testdatei jedoch um, oder verschiebt sie, geht die Verknüpfung kaputt:
    $ mv testdatei testdatei2
    $ cat testsoftlink

    Zeigt: cat: testsoftlink: No such file or directory. Ein soft link wird im finder durch ein Pfeil im Symbol gekennzeichnet.
  2. hard link
    Ein hard link ist ein weiterer Name für die selbe Datei.:
    $ ln testdatei2 testhardlink
    $ ls -i testhardlink

    Man sieht, dass der hard link den selben inode hat, wir testdatei2. Dementsprechend kann man testdatei2 umbenennen, verschieben oder sogar löschen - die "Verknüpfung" bleibt bestehen. Es ist die selbe Datei unter einem weiteren Namen. Konsequenter Weise wird ein hard link im finder auch nicht gekennzeichnet.
  3. alias
    Ein alias ist ein Hybrid aus hard & soft link. Es ist eine Verknüpfung auf die Datei wie ein soft link (und nicht etwa die Datei selbst wie ein hard link), zeigt aber nicht auf den Pfad & Namen, sondern auf den inode. Man erzeugt einen alias durch Rechtsklick auf testdatei2 "Alias erzeugen".
    $ ls -i "testdatei2 alias"
    zeigt, dass der alias eine eigenen inode hat (also nicht die Datei selbst ist): 28007126 testdatei2 alias. Da aber auf den inode von testdatei2 verwiesen wird, kann man diese umbenennen oder verschieben und die Verknüpfung bleibt bestehen:
    $ mv testdatei2 testdatei3
    Klickt man nun auf tesdatei2 alias öffnet sich testdatei3. Auch ein alias wird im finder mit einem Pfeil auf dem Symbol (wie ein soft link) gekennzeichnet. (Das Anzeigen des alias auf der Konsole über cat oder less lässt man besser bleiben, denn der alias ist eine Binärdatei.
    Diese Seite wurde zuletzt am 5. Februar 2012 um 01:25 Uhr geändert. Diese Seite wurde bisher 4.053 mal abgerufen.