Bestandssnelkoppelingen zijn handig, maar symbolische koppelingen (symlinks) kunnen het gebruik van bestanden en mappen op Linux, macOS en Windows veranderen.

Wat is een symbolische link (Symlink)? Hoe maak je er een in Linux

Advertentie Als computergebruiker zou je waarschijnlijk een snelkoppeling naar een bestand, map of app zeggen als je een snelkoppeling moest definiëren? Dat is correct. Maar die korte definitie vertelt helemaal niet het hele verhaal. Het betekent dat alle snelkoppelingen hetzelfde zijn als ze dat niet zijn.

Advertentie

Als computergebruiker zou je waarschijnlijk een snelkoppeling naar een bestand, map of app zeggen als je een snelkoppeling moest definiëren? Dat is correct.

Maar die korte definitie vertelt helemaal niet het hele verhaal. Het betekent dat alle snelkoppelingen hetzelfde zijn als ze dat niet zijn. Je hebt bijna een handvol snelkoppelingen. We zullen ons concentreren op de onderstaande symbolische link. Het wordt ook een symlink of een softlink genoemd en we zullen de termen door elkaar gebruiken.

Laten we eens kijken wat een symlink is, hoe u een symlink kunt maken op Linux, macOS en Windows, waarom u dit speciale type snelkoppeling nodig hebt en meer.

Wat is een Symlink?

Het klopt dat een symlink een snelkoppelingsbestand is. Maar het is anders dan een standaard snelkoppeling die bijvoorbeeld een programma-installatieprogramma op uw Windows-bureaublad heeft geplaatst om het programma gemakkelijker te kunnen uitvoeren.

Natuurlijk, als je op een van beide sneltoetsen klikt, wordt het gekoppelde object geopend, maar wat er onder de motorkap gebeurt, is in beide gevallen anders, zoals we hierna zullen zien.

Terwijl een standaard snelkoppeling naar een bepaald object verwijst, doet een symlink het lijken alsof het gekoppelde object er daadwerkelijk is. Uw computer en de apps erop lezen de symlink als het doelobject zelf.

Op macOS krijgt u hiervan het bewijs in de vorm van een "file exist" -bericht dat verschijnt wanneer u probeert een symlink op dezelfde locatie als het oorspronkelijke object te maken. Zelfs als u probeert de symlink naar dezelfde locatie te verplaatsen nadat u deze ergens anders hebt gemaakt, wordt deze hernoemd als een kopie.

Bestand bestaat bericht tijdens het maken van een symlink in Terminal op macOS

Symlinks versus standaardsnelkoppelingen

Stel dat u een bepaalde map op uw harde schijf hebt die u met Dropbox wilt synchroniseren zonder de map zelf naar Dropbox te verplaatsen.

In dit geval is het zinloos om een ​​snelkoppeling naar de map in Dropbox te maken. De snelkoppeling werkt op het apparaat waarop u deze hebt gemaakt. Dropbox synchroniseert ook de snelkoppeling. Maar het gesynchroniseerde snelkoppelingsbestand is ongeldig wanneer u het opent vanaf een andere computer, dat wil zeggen dat het nergens naartoe leidt.

Als die snelkoppeling een symlink zou zijn, zou je dit probleem niet tegenkomen. Dat komt omdat Dropbox de symlink leest als de werkelijke map en als gevolg daarvan de gegevens uit die map synchroniseert. Je hebt dan toegang tot de map en de inhoud ervan op al je apparaten waarop Dropbox-synchronisatie is ingeschakeld, ook al maakt de oorspronkelijke map geen deel uit van je Dropbox.

Houd er rekening mee dat, of het nu gaat om een ​​normale snelkoppeling of een symlink, het verwijderen op geen enkele manier invloed heeft op het oorspronkelijke object.

Waarom heb je Symlinks nodig?

Over het algemeen is het een goed idee om symbolische links te maken in plaats van snelkoppelingen wanneer u het volgende wilt:

  • Toegang tot een bestand vanaf meerdere locaties zonder kopieën te maken en zonder veel schijfruimte te gebruiken. (Symlinks zijn slechts enkele bytes groot.)
  • Onderhoud verschillende versies van een bestand en zorg ervoor dat eventuele verwijzingen ernaar altijd naar de meest recente of bijgewerkte versie leiden. (Dit werkt omdat een symlink actief blijft, zelfs wanneer u het doelbestand vervangt door een ander bestand met dezelfde naam.)
  • Verplaats gegevens van uw C: \ schijf naar bijvoorbeeld een secundaire harde schijf zonder systeem- of app-functies te onderbreken waarvoor deze gegevens op de C: \ schijf moeten staan.

U zult waarschijnlijk veel andere gebruiksscenario's tegenkomen voor symbolische links.

Hoe Symlinks te maken

U kunt zachte koppelingen maken met behulp van de terminal of de opdrachtregel. We komen later bij de point-and-click-tools als je je ongemakkelijk voelt met de terminal.

Op Linux en macOS

Terminalopdracht voor het maken van een symbolische koppeling op macOS

Onder Linux kunt u een symbolische koppeling voor een bestand of map maken met deze terminalopdracht:

 ln -s [/path/to/file] [/path/to/symlink] 

Dezelfde opdracht werkt ook op macOS, omdat macOS een op UNIX gebaseerd besturingssysteem is zoals Linux.

Zie bovenstaande screenshot voor een voorbeeldopdracht.

Met de native bestandsbeheerder in bepaalde Linux-desktopomgevingen kunt u een softlink maken via het rechtsklikmenu, dus misschien wilt u controleren of uw file explorer-app die optie heeft.

De populaire Nautilus-bestandsbeheerder, die wordt geleverd met verschillende Linux-distributies, had een Make Link- menuoptie die nu is verdwenen. Maar u kunt nog steeds een symlink maken in Nautilus door de Ctrl- en Shift- toetsen ingedrukt te houden en het doelbestand te slepen naar de locatie waar u de symlink wilt laten verschijnen. Maak je geen zorgen, het originele bestand blijft staan.

Op Windows

U moet een opdrachtpromptvenster openen als beheerder en de volgende opdracht typen om een ​​symbolische koppeling te maken:

 mklink [/path/to/symlink] [/path/to/file] 

Voor symbolische koppelingen naar mappen moet u de opdracht een beetje aanpassen met de vlag / d :

 mklink /d [/path/to/symlink] [/path/to/file] 

Als u niet met de opdrachtregel wilt werken, kunt u een grafische tool genaamd Link Shell Extension gebruiken om symbolische koppelingen te maken. Het is een van de beste Windows File Explorer-extensies voor bestandsbeheer.

Opmerking: het systeem verhindert niet dat u een symbolische koppeling maakt binnen een symbolische koppeling, maar u kunt dit het beste vermijden. Anders maakt u een oneindige lus die problemen kan veroorzaken voor systeembrede services zoals antivirusscanners.

Symlinks versus aliassen op macOS

Symlink en alias voor een bestand in Finder op macOS

Als je ooit aliassen op macOS hebt gemaakt, zul je merken dat ze zich gedragen als symlinks. Beide typen snelkoppelingen verwijzen naar de padnaam van het gekoppelde bestand of map.

Het verschil is dat de alias het gekoppelde object ook markeert met een ID genaamd inode (indexknooppunt). Deze identifier is uniek voor het object en volgt deze rond het bestandssysteem.

Daarom werkt de alias prima, zelfs als u het doel naar een andere locatie verplaatst. Probeer dat met een symlink en je zult een fout tegenkomen. (U kunt de alias en de symlink zelf zonder problemen verplaatsen, tenzij u te maken hebt met door het systeem beveiligde bestanden.)

Beide typen snelkoppelingen zijn natuurlijk nutteloos als u het oorspronkelijke bestand verwijdert of een van de mappen hoger in de hiërarchie hernoemt.

Kun je het verschil tussen een alias en een symlink niet zien omdat je de alias- tag hebt verwijderd uit de bestandsnaam voor de alias?

Open de bestandscontrole of het paneel Info ophalen voor elke snelkoppeling en kijk naar de bestandsgrootte onder het gedeelte Algemeen . Als er staat (nul bytes op schijf), heb je te maken met een symlink.

Symbolische koppelingen (in de huidige map) worden ook zichtbaar wanneer u deze terminalopdracht gebruikt:

 ls -la 

De opdracht werkt ook op Linux en u ziet de symbolische link naar de locatie van het oorspronkelijke object.

Symlinks zijn beter dan snelkoppelingen

Symbolische links lijken aanvankelijk misschien verwarrend, maar als je de tijd neemt om ze te begrijpen, zul je je realiseren dat ze toch vrij eenvoudig te gebruiken zijn!

U kunt zelfs symbolische koppelingen op Android maken met Termux, een app waarmee u de Linux-opdrachtregel kunt gebruiken. En wist u dat u Google Drive-bestanden gemakkelijker kunt delen met symbolische koppelingen Maak Google Drive-bestanden gemakkelijker om te delen met symbolische koppelingen Maak Google Drive-bestanden eenvoudiger om te delen met symbolische koppelingen Wilt u kopieën maken van een bestand dat allemaal gesynchroniseerd blijft wanneer wijzigingen worden doorgevoerd gemaakt in het hoofdbestand? Google Drive maakt het gemakkelijk om dat te doen. Lees verder ?

Ontdek meer over: Symbolische link, Terminal.