2.0 KiB
2.0 KiB
Symbolische Links (Symlinks)
Ein symbolischer Link (Symlink) ist eine spezielle Datei, die auf eine andere Datei oder ein Verzeichnis verweist.
Symlink erstellen
ln -s /pfad/zum/ziel /pfad/zum/link
Optionen:
-s→ Symlink erstellen (statt Hardlink)-f→ vorhandenen Link überschreiben-n→ falls Link auf Verzeichnis verweist, Link selbst überschreiben
Beispiel:
ln -s /opt/programm/binary /usr/local/bin/programm
Ziel eines Symlinks anzeigen
readlink meinlink
Mit absolutem Pfad (löst verschachtelte Links auf):
readlink -f meinlink
Beispiel:
$ readlink mysoftlink
../zielordner/datei.txt
$ readlink -f mysoftlink
/home/user/zielordner/datei.txt
Symlink aktualisieren
Einen Symlink kann man nicht direkt ändern, sondern muss ihn neu erstellen:
ln -sfn /neues/ziel meinlink
Beispiel:
#!/bin/bash
link="meinlink"
# Aktuelles Ziel auslesen
altes_ziel=$(readlink "$link")
echo "Aktuelles Ziel: $altes_ziel"
# Neues Ziel setzen
neues_ziel="/pfad/zum/neuen/ziel"
ln -sfn "$neues_ziel" "$link"
echo "Neues Ziel: $(readlink $link)"
Symlinks vs. Hardlinks
Symlinks:
- Verweisen auf Pfad (nicht auf Inode)
- Können auf Dateien und Verzeichnisse verweisen
- Funktionieren über Dateisystemgrenzen hinweg
- Brechen, wenn Ziel gelöscht wird
Hardlinks:
- Verweisen direkt auf Inode
- Nur für Dateien (nicht für Verzeichnisse)
- Müssen im gleichen Dateisystem liegen
- Bleiben gültig, auch wenn Originaldatei gelöscht wird
Desktop-Verknüpfungen erstellen
Für Desktop-Umgebungen (GNOME, KDE, XFCE) verwendet man .desktop-Dateien:
weblink.desktop:
[Desktop Entry]
Name=Open ChatGPT
Type=Link
URL=https://chat.openai.com/
Icon=web-browser
Ausführbar machen:
chmod +x weblink.desktop
Siehe auch
- find - Dateien suchen (z.B. nach Symlinks mit
-type l) - ls - Symlinks in Verzeichnissen anzeigen
- Dateiberechtigungen - Rechte von Links und Zielen
- lsblk - Block-Geräte anzeigen