Linux: Symbolische links

Onder Linux wordt veel gebruik gemaakt van symbolische links. De vragen die aan de orde komen zijn: Waarvoor en waarom worden ze gebruikt, en hoe werken ze?

Inleiding

Het zal je vast wel eens overkomen zijn dat je niet meer precies wist hoe je een file genoemd had. Was het nou hoofdstuk1.tex, of hfst1.tex? Het kan ook zijn dat je niet zo van typen houd, en je het eigenlijk maar vervelend vind om telkens /usr/share/doc/zlib-devel-1.1.3/ te moeten intypen om bij de documentatie van zlib-devel te kunnen komen. In het eerste geval is het handig om dezelfde file onder 2 namen beschikbaar te hebben, terwijl je in het tweede geval graag een korte route naar /usr/share/doc/zlib-devel-1.1.3/ zou willen hebben. De oplossing voor deze twee problemen is gelegen in het gebruik van symbolische links.

Files linken

Wanneer je het commando

ln -s hoofdstuk1.tex hfst1.tex

geeft, dan maak je de al bestaande file hoofdstuk1.tex ook geschikbaar onder de naam hfst1.tex. Het resultaat is dat er nog steeds maar 1 file is, dus het maakt niet uit onder welke naam je hem bewerkt. Bewerkingen op de file onder de ene naam zijn meteen ook bewerkingen op de file onder de andere naam.

Directories linken

Om dat vervelende pad /usr/share/doc/zlib-devel-1.1.3/ wat sneller vanuit je homedir beschikbaar te hebben kun je gebruik maken van een commando in de trant van

ln -s /usr/share/doc/zlib-devel-1.1.3/ ~/zlib-devel

Na het geven lijkt het net alsof de directory /usr/share/doc/zlib-devel-1.1.3/ dan ook in je homedir staat onder de naam zlib-devel.

Symbolische links verwijderen

Bij symbolische links is altijd sprake van het onderscheid tussen het echte object, en de link er naartoe. Wanneer je het object wist, dan zal de link er naartoe ook niet meer werken, maar nog wel blijven bestaan. Wanneer je de link wist, dan blijft het object zelf nog wel bestaan. Bij het hernoemen/verplaatsen doet zich een zelfde verschijnsel voor. Wanneer je het object hernoemt/verplaatst, dan zal de link die naar het object verwijst niet langer werken. De link zelf kun je echter naar believen verplaatsen en hernoemen, zolang het object op dezelfde plek blijft staan werken de links.