Erstellen/Löschen von Datei/Ordner Verknüpfungen auf Unix-Systemen

  • C#

    Erstellen/Löschen von Datei/Ordner Verknüpfungen auf Unix-Systemen

    Hallo zusammen,

    ich versuche derzeit eine Interaktion mit Verknüpfungen zu Dateien und Ordnern auf Unix-Systemen mit .NET Core 3.1 Basis zu realisieren (VB.NET/C#). Bei Windows-Systemen wäre dies ein ganz einfacher Fall, da hier die Verknüpfungen aus sogenannten .lnk Dateien bestehen. Diese könnten nun über primitive Datei Operationen angelegt sowie wieder gelöscht werden. Wie das ganze nun korrekt bei Unix-Systemen Funktionieren soll, habe Ich bisher leider nicht ganz mit 100%er Sicherheit herausfinden können.

    Fakt ist, es gibt folgende Befehle für die Unix-Systeme:

    BefehlAktion
    ln -s <Quelle> <Ziel>
    Erstellen einer Verknüpfung
    unkink <Pfad>Entfernen einer Verknüpfung


    Aufgrund der Befehle ist mir derzeit Folgendes Lösungskonzept eingefallen. Ich starte einen Prozess in /bin/sh mit den oben genannten Befehlen als Parameter. Das funktioniert auch soweit, sofern Ich auch mit Sicherheit sagen kann was Ich als Parameter übergebe... Aber gibt es dazu keine "sauberere" Lösung? Muss es unbedingt ein Prozess sein, der im Terminal diese Befehle ausführt? Darüber hinaus wäre es auch interessant zu wissen, ob ein gegebener Pfad auf einem Unix-System eine Verlinkung ist oder eben nicht.

    Danke schon mal im voraus! :)