Symbolisk länk

Från Wikipedia

En symbolisk länk (engelska: symbolic link, symlink) är i unixliknande system en fil som innehåller en referens till en annan fil i form av filens namn eller en sökväg, eventuellt relativt den katalog där länken finns. Liknande mekanismer finns i flera andra operativsystem.

När en symbolisk länk påträffas som den fil som skall öppnas eller som del av sökvägen till filen används vanligen istället det namn som den symboliska länken anger. Beteendet kan regleras genom flaggor till flera kommandon, som kan behöva beakta länkarna explicit.

I unixliknande system kan en fil ha flera likvärda namn, eventuellt i olika kataloger. I katalogen finns vid namnet en referens till filens i-nod, som innehåller filens metadata och en referens till filens datablock. Filen finns kvar så länge någon av referenserna finns kvar.

De symboliska länkarna innebär en annan mekanism: de är inte egentliga namn på filen och deras och filens existens är inte sammankopplade. En symbolisk länk kan referera en fil som ännu inte finns, inte längre finns, eller som finns i ett filsystem som inte för tillfället är monterat, och filen kan raderas oberoende av eventuella symboliska länkar. De symboliska länkarna har inte heller restriktionen att de måste finnas i samma filsystem som filens i-nod och datablock.

Symboliska länkar skapas, liksom "hårda" länkar, med kommandot ln.

$ echo hej > abc
$ ln -s abc def
$ cat def
hej

Genom att Unix' filsystem tillåter nästan godtyckliga filnamn och en symbolisk länk kan skapas till en icke-existerande fil, kan symboliska länkar i praktiken innehålla godtycklig text. Eftersom symboliska länkar i en del system implementerats effektivare än normala små filer använder en del programvara symboliska länkar för andra ändamål, till exempel som låsfiler i form av referenser till processer.