Hva er en symbolsk lenke (Symlink)? Hvordan lage en i Linux

Hva er en symbolsk lenke (Symlink)? Hvordan lage en i Linux

Som en datamaskinbruker, hvis du måtte definere en snarvei, vil du sannsynligvis si at det er en peker til en fil, mappe eller en app, ikke sant? Det er riktig.





Men den korte definisjonen forteller ikke hele historien i det hele tatt. Det innebærer at alle snarveier er de samme når de ikke er det. Du har nesten en håndfull snarveityper. Vi fokuserer på den symbolske lenken nedenfor. Det kalles også en symlink eller en myk lenke, og vi bruker begrepene om hverandre.





La oss se hva som er en symlink, hvordan du oppretter en symlink på Linux så vel som macOS og Windows, hvorfor du trenger denne spesielle typen snarvei og mer.





Det er sant at en symlink er en snarveifil. Men det er forskjellig fra en standard snarvei som, for eksempel, et programinstallasjonsprogram har plassert på skrivebordet i Windows for å gjøre programmet enklere å kjøre.

Visst, ved å klikke på en hvilken som helst type snarvei åpnes det koblede objektet, men det som skjer under hetten er annerledes i begge tilfeller, som vi får se neste.



Mens en standard snarvei peker på et bestemt objekt, får en symlink det til å se ut som om det koblede objektet faktisk er der. Datamaskinen og appene på den vil lese symlink som selve objektet.

På macOS får du bevis på dette i form av en 'fil eksisterer' -melding som vises når du prøver å opprette en symlink på samme sted som det opprinnelige objektet. Selv om du prøver å flytte symlenken til samme sted etter å ha opprettet den andre steder, blir den omdøpt til en kopi.





La oss si at du har en bestemt mappe på harddisken du vil synkronisere med Dropbox uten å flytte selve mappen til Dropbox.

I dette tilfellet er det meningsløst å lage en snarvei til mappen i Dropbox. Snarveien fungerer på enheten du har opprettet den på. Dropbox vil også synkronisere snarveien. Men den synkroniserte snarveifilen er ugyldig når du får tilgang til den fra en annen datamaskin, det vil si at den ikke fører noen vei.





Hvis den snarveien var en symlink, ville du ikke stå overfor dette problemet. Det er fordi Dropbox leser symlenken som den faktiske mappen, og som et resultat synkroniserer dataene fra den mappen. Du kan deretter få tilgang til mappen og innholdet på alle enhetene dine som har Dropbox -synkronisering aktivert, selv om den originale mappen ikke er en del av Dropbox.

hvorfor krasjer spillet mitt

Husk at enten det er en vanlig snarvei eller en symlink, vil sletting av det ikke påvirke det opprinnelige objektet på noen måte.

Generelt er det en god idé å opprette symbolske lenker i stedet for snarveier når du vil:

  • Få tilgang til en fil fra flere steder uten å lage kopier og uten å bruke mye diskplass. (Symlenker er bare noen få byte i størrelse.)
  • Oppretthold forskjellige versjoner av en fil, samtidig som du sikrer at noen tips til den alltid fører til den nyeste eller oppdaterte versjonen. (Dette fungerer fordi en symlink forblir aktiv selv når du erstatter målfilen med en annen fil med samme navn.)
  • Flytt data fra C: -stasjonen til, si en sekundær harddisk uten å forstyrre system- eller appfunksjoner som trenger dataene for å være på C: -stasjonen.

Du vil sannsynligvis komme over mange andre brukstilfeller for symbolske lenker.

Du kan opprette myke koblinger ved hjelp av terminalen eller kommandolinjen. Vi kommer til pek-og-klikk-verktøyene senere hvis du er ukomfortabel med å fikle med terminalen.

På Linux og macOS

På Linux kan du opprette en symbolsk lenke for en fil eller mappe med denne kommandoen:

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

Den samme kommandoen fungerer også på macOS, siden macOS er et UNIX-basert operativsystem som Linux.

Se skjermbildet ovenfor for en eksempelkommando.

Med den opprinnelige filbehandleren i visse Linux-skrivebordsmiljøer kan du opprette en myk lenke via høyreklikkmenyen, så det kan være lurt å sjekke om filutforskeren din har det alternativet.

Den populære Nautilus -filbehandleren, som følger med forskjellige Linux -distroer, hadde en Lag link menyalternativet som nå er borte. Men du kan fortsatt lage en symlink i Nautilus ved å holde nede Ctrl og Skifte og dra målfilen til stedet der du vil at symlenken skal vises. Ikke bekymre deg, den originale filen blir stående.

På Windows

Du må åpne et kommandopromptvindu som administrator og skrive inn følgende kommando for å opprette en symbolsk lenke:

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

For symbolske lenker til kataloger må du justere kommandoen litt ved hjelp av /d flagg:

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

Hvis du ikke vil jobbe med kommandolinjen, kan du bruke et grafisk verktøy kalt Link Shell Extension for å lage symbolske lenker. Det er en av de beste Windows File Explorer -utvidelsene for filbehandling.

Merk: Systemet forhindrer deg ikke i å opprette en symbolsk lenke i en symbolsk lenke, men det er best å unngå å gjøre det. Ellers vil du opprette en uendelig sløyfe som kan forårsake problemer for systemdekkende tjenester som antivirusskannere.

Hvis du noen gang har opprettet alias på macOS, vil du legge merke til at de oppfører seg omtrent som symlenker. Begge typer snarveier refererer til banenavnet til den koblede filen eller mappen.

Forskjellen er at aliaset også markerer det koblede objektet med en identifikator kalt inode (indeksnode). Denne identifikatoren er unik for objektet og følger den rundt filsystemet.

Det er derfor aliaset vil fungere fint, selv om du flytter målet til et annet sted. Prøv det med en symlink, og du får en feil. (Du kan flytte aliaset og symlenken selv uten problemer, med mindre du har å gjøre med systembeskyttede filer.)

Selvfølgelig vil begge typer snarveier vise seg å være ubrukelige hvis du sletter den opprinnelige filen eller omdøper noen av mappene høyere opp i hierarkiet.

Kan ikke se forskjellen mellom et alias og en symlink fordi du har fjernet alias tag fra filnavnet for aliaset?

Åpne filinspektøren eller Få informasjon panel for hver snarvei og se på filstørrelsen under generell seksjon. Hvis det står (null byte på disken) , du har å gjøre med en symlink.

Symboliske lenker (i den nåværende mappen) vil også avsløre seg selv når du bruker denne terminalkommandoen:

ls -la

Kommandoen fungerer også på Linux, og du vil se det symbolske lenkepunktet til plasseringen av det opprinnelige objektet.

Symboliske lenker kan virke forvirrende i utgangspunktet, men hvis du tar deg tid til å forstå dem, vil du innse at de tross alt er ganske enkle å bruke!

Du kan til og med opprette symbolske lenker på Android med Termux , en app som lar deg bruke Linux -kommandolinjen . Og visste du at du lettere kan dele Google Disk -filer med symbolske lenker?

Dele Dele kvitring E -post Slik får du tilgang til Googles innebygde boblenivå på Android

Hvis du noen gang har trengt å sørge for at noe er i vater, kan du nå få et boblenivå på telefonen din på få sekunder.

Les neste
Relaterte temaer
  • Linux
  • Teknologi forklart
  • Terminal
  • Symbolsk lenke
Om forfatteren Akshata Shanbhag(404 artikler publisert)

Akshata trente i manuell testing, animasjon og UX -design før han fokuserte på teknologi og skriving. Dette samlet to av hennes favorittaktiviteter - å forstå systemer og forenkle sjargong. På MakeUseOf skriver Akshata om å gjøre det beste ut av Apple -enhetene dine.

Mer fra Akshata Shanbhag

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere