Symbolische koppelingen, ook wel symlinks genoemd, zijn speciale bestanden die verwijzen naar bestanden of mappen op andere locaties op uw systeem. Je kunt ze zien als geavanceerde aliassen en hier is hoe je ze in MacOS kunt gebruiken.
Symbolische koppelingen lijken op aliassen, behalve dat ze in elke toepassing op uw Mac werken, ook in de Terminal. Ze zijn vooral handig wanneer apps niet correct willen werken met een gewone alias. Op macOS maak je symbolische koppelingen in de Terminal met de
ln
nut. U kunt ze niet in de Finder maken. Symbolische koppelingen in macOS werken op dezelfde manier als
symbolische koppelingen in Linux
, want beide zijn
Unix-achtig
besturingssystemen.
Symbolische koppelingen in Windows
werken een beetje anders.
VERWANT: Symbolische koppelingen (ook wel symlinks genoemd) maken en gebruiken op Linux
Wat zijn symbolische links?
In macOS kunt u gewone aliassen maken in de Finder. Aliassen verwijzen naar bestanden of mappen, maar ze lijken meer op eenvoudige snelkoppelingen.
Een symbolische link is een meer geavanceerd type alias dat in elke applicatie op het systeem werkt, inclusief opdrachtregelhulpprogramma's in de terminal. Een symbolische link die u maakt, lijkt voor apps hetzelfde te zijn als het oorspronkelijke bestand of de oorspronkelijke map waarnaar deze verwijst, ook al is het maar een link.
Stel dat u een programma heeft waarvoor de bestanden moeten worden opgeslagen in / Library / Program. Maar u wilt die bestanden ergens anders op het systeem opslaan, bijvoorbeeld in / Volumes / Program. U kunt de programmamap naar / Volumes / Program verplaatsen en vervolgens een symbolische koppeling maken op / Library / Program die naar / Volumes / Program verwijst. Het programma zal proberen toegang te krijgen tot zijn map in / Library / Program, en het besturingssysteem zal het omleiden naar / Volumes / Program.
Dit is volledig transparant voor het macOS-besturingssysteem en de applicaties die u gebruikt. Als u naar de map / Library / Program in de Finder of een andere toepassing bladert, lijkt het erop dat deze de bestanden in / Volumes / Program bevat.
Naast symbolische koppelingen, die ook wel "zachte koppelingen" worden genoemd, kunt u in plaats daarvan "harde koppelingen" maken. Een symbolische of zachte link verwijst naar een pad in het bestandssysteem. Stel dat u een symbolische (of zachte) link heeft van / Users / example die verwijst naar / opt / example. Als u het bestand naar / opt / example verplaatst, wordt de link op / Users / example verbroken. Als u echter een harde link maakt, verwijst deze in feite naar de onderliggende inode op het bestandssysteem. Dus als je een harde link hebt gemaakt van / Users / example die naar / opt / example verwijst en later / opt / example verplaatst, zou de link op / Users / example nog steeds naar het bestand verwijzen, ongeacht waar je het naartoe hebt verplaatst. De harde link werkt op een lager niveau.
Als u niet zeker weet welke u moet gebruiken, moet u over het algemeen standaard symbolische links (softlinks) gebruiken. Harde koppelingen hebben enkele beperkingen. U kunt bijvoorbeeld geen harde koppeling op de ene partitie of schijf maken die naar een locatie op een andere partitie of schijf verwijst, terwijl u dat wel kunt doen met een standaard symbolische koppeling.
Creëer symbolische koppelingen met het ln-commando
Om een symbolische link op een Mac te maken, heb je de Terminal-app nodig.
Druk op Command + spatiebalk, typ "Terminal" en druk vervolgens op "Enter" om Terminal te openen vanuit Spotlight-zoekactie. Navigeer naar Finder> Toepassingen> Hulpprogramma's> Terminal om de Terminal-snelkoppeling te starten.
Voer de ... uit
ln
commando in de volgende vorm. U kunt een pad naar een map of bestand specificeren:
ln -s / pad / naar / origineel / pad / naar / link
De
-s
hier vertelt het ln-commando om een symbolische link te maken. Als u een harde link wilt maken, laat u de
-s
. Meestal zijn symbolische links de betere keuze, dus maak geen harde link tenzij u een specifieke reden heeft om dit te doen.
Hier is een voorbeeld. Stel dat u een symbolische link in uw Desktop-map wilde maken die naar uw Downloads-map verwijst. U voert de volgende opdracht uit:
ln -s / Gebruikers / naam / Downloads / Gebruikers / naam / Desktop
Nadat u de link heeft gemaakt, ziet u uw map Downloads op uw bureaublad verschijnen. Het is eigenlijk de symbolische link die je hebt gemaakt, maar hij ziet eruit als de echte. Het lijkt erop dat deze map dezelfde bestanden bevat als uw map Downloads. Dat komt omdat het zo is: het zijn gewoon verschillende weergaven die naar dezelfde onderliggende map in het bestandssysteem verwijzen.
Als uw bestandspad spaties of andere speciale tekens bevat, moet u dit tussen aanhalingstekens plaatsen. Dus als u een link op uw bureaublad wilt maken naar een map met de naam "Mijn bestanden" in uw gebruikersdirectory, heeft u zoiets als de volgende opdracht nodig:
ln -s "/ Gebruikers / naam / Mijn bestanden" "/ Gebruikers / naam / Bureaublad / Mijn link"
Om het typen van bestands- en mappaden in de Terminal te vergemakkelijken, kunt u een map vanuit het Finder-venster naar de Terminal slepen en neerzetten en de Terminal zal automatisch het pad naar die map invullen. Het pad wordt indien nodig ook tussen aanhalingstekens geplaatst.
Als u een symbolische link moet maken op een systeemlocatie waartoe uw gebruikersaccount geen toegang heeft, moet u het voorvoegsel
ln
commando met de
sudo
commando, zoals zo:
sudo ln -s / pad / naar / origineel / pad / naar / link
VERWANT: Hoe u systeemintegriteitsbescherming op een Mac uitschakelt (en waarom u dat niet zou moeten doen)
Houd er rekening mee dat u in moderne versies van macOS niet naar bepaalde systeemlocaties mag schrijven zonder een firmware-optie op laag niveau te wijzigen vanwege de functie System Integrity Protection . U kunt die functie uitschakelen, maar we raden u aan dit niet te doen.
Symbolische koppelingen verwijderen
U kunt symbolische koppelingen verwijderen zoals elk ander type bestand. Als u bijvoorbeeld een symbolische link in de Finder wilt verwijderen, Ctrl + klik of klik er met de rechtermuisknop op en selecteer "Verplaatsen naar prullenbak".
U kunt koppelingen van de opdrachtregel verwijderen met de
rm
commando, wat hetzelfde commando is dat u zou gebruiken om andere bestanden te verwijderen. Voer de opdracht uit en specificeer het pad naar de link die u wilt verwijderen:
rm / pad / naar / link
Symbolische koppelingen maken met een grafisch hulpmiddel
De Finder kan aliassen maken, maar ze werken niet zoals symbolische koppelingen. Aliassen zijn net als bureaubladsnelkoppelingen in Windows. Ze worden niet behandeld als echte, transparante symbolische links.
Om symbolische links in Finder te kunnen maken, heb je een hulpprogramma of script van derden nodig. We raden de open-source app aan SymbolicLinker voor het snel toevoegen van een optie Services> Symbolische koppeling maken rechtstreeks aan het contextmenu van de Finder.
Klik op de optie die het toevoegt en er wordt een symbolische link naar het geselecteerde bestand of map in de huidige directory gemaakt. U kunt het hernoemen en verplaatsen waar u maar wilt.
Als je ze nog niet eerder hebt gebruikt, kan het even duren voordat symbolische links je hoofd er omheen zijn gewend en wennen aan het gebruik. Maar als je dat eenmaal doet, zul je ze een krachtig hulpmiddel vinden om iets te doen dat je vaak niet kunt doen met een gewone alias.