Filgenveje er nyttige, men symboliske links (symlinks) kan ændre, hvordan du bruger filer og mapper på Linux, macOS og Windows.

Hvad er et symbolsk link (Symlink)? Sådan opretter du en i Linux

Reklame Hvis du som computerbruger skulle definere en genvej, ville du sandsynligvis sige, at det er en markør til en fil, mappe eller en app, ikke? Det er korrekt. Men den korte definition fortæller slet ikke hele historien. Det indebærer, at alle genveje er de samme, når de ikke er det. Du har næsten en håndfuld genvejstyper. Vi v

Reklame

Hvis du som computerbruger skulle definere en genvej, ville du sandsynligvis sige, at det er en markør til en fil, mappe eller en app, ikke? Det er korrekt.

Men den korte definition fortæller slet ikke hele historien. Det indebærer, at alle genveje er de samme, når de ikke er det. Du har næsten en håndfuld genvejstyper. Vi vil fokusere på det symboliske link nedenfor. Det kaldes også en symlink eller et blødt link, og vi bruger udtrykkene om hverandre.

Lad os se, hvad der er en symlink, hvordan man opretter en symlink på Linux såvel som macOS og Windows, hvorfor du har brug for denne specielle type genvej og mere.

Hvad er en Symlink?

Det er sandt, at en symlink er en genvejsfil. Men det er forskelligt fra en standardgenvej, som f.eks. Et programinstallatør har placeret på dit Windows-skrivebord for at gøre programmet lettere at køre.

Selvfølgelig, ved at klikke på begge typer genvej åbnes det tilknyttede objekt, men hvad der foregår under hætten er anderledes i begge tilfælde, som vi ser næste.

Mens en standardgenvej peger på et bestemt objekt, får en symlink det til at virke som om det tilknyttede objekt faktisk er der. Din computer og apps derpå læser symlinket som selve målobjektet.

På macOS får du bevis for dette i form af en "fil findes" -meddelelse, der vises, når du prøver at oprette en symlink på det samme sted som det originale objekt. Selv hvis du prøver at flytte symlinket til den samme placering efter oprettelse af det andetsteds, får det omdøbt til en kopi.

Fil eksisterer besked, mens du opretter en symlink i terminal på macOS

Symlinks vs. standardgenveje

Lad os sige, at du har en bestemt mappe på din harddisk, som du gerne vil synkronisere med Dropbox uden at flytte selve mappen til Dropbox.

I dette tilfælde er det meningsløst at oprette en genvej til mappen i Dropbox. Genvejen fungerer på den enhed, som du har oprettet den på. Dropbox synkroniserer også genvejen. Men den synkroniserede genvejsfil er ugyldig, når du får adgang til den fra en anden computer, dvs. den fører intet sted.

Hvis denne genvej var en symlink, ville du ikke møde dette problem. Det skyldes, at Dropbox læser symlinket som den aktuelle mappe, og som et resultat synkroniserer dataene fra den mappe. Du kan derefter få adgang til mappen og dens indhold på alle dine enheder, der har Dropbox-synkronisering aktiveret, selvom den originale mappe ikke er en del af din Dropbox.

Husk, at uanset om det er en almindelig genvej eller en symlink, vil sletning ikke påvirke det originale objekt på nogen måde.

Hvorfor har du brug for symlinks?

Generelt er det en god ide at oprette symboliske links i stedet for genveje, når du vil:

  • Få adgang til en fil fra flere placeringer uden at oprette kopier og uden at bruge meget diskplads. (Symlinks er kun få byte i størrelse.)
  • Vedligehold forskellige versioner af en fil, mens du sikrer, at eventuelle pegepunkter til den altid fører til den seneste eller opdaterede version. (Dette fungerer, fordi en symlink forbliver aktiv, selv når du erstatter målfilen med en anden fil med samme navn.)
  • Flyt data fra dit C: \ drev til, for eksempel, en sekundær harddisk uden at afbryde system- eller appfunktioner, der har brug for de nævnte data for at være på C: \ drevet.

Du vil sandsynligvis støde på mange andre brugssager til symboliske links.

Sådan opretter du Symlinks

Du kan oprette bløde links ved hjælp af terminalen eller kommandolinjen. Vi kommer til punkt-og-klik-værktøjerne senere, hvis du er ukomfortabel med at fikle med terminalen.

På Linux og macOS

Terminalkommando til oprettelse af et symbolsk link på macOS

I Linux kan du oprette et symbolsk link til en fil eller mappe med denne terminalkommando:

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

Den samme kommando fungerer også på macOS, da macOS er et UNIX-baseret operativsystem som Linux.

Se skærmbilledet ovenfor for en prøvekommando.

Den oprindelige filhåndtering i visse Linux-skrivebordsmiljøer giver dig mulighed for at oprette et blødt link via højreklik-menuen, så du kan tjekke, om din filudforsker-app har denne mulighed.

Den populære Nautilus filhåndtering, der leveres sammen med forskellige Linux-distros, havde en menuindstilling for Make Link, der nu er forsvundet. Men du kan stadig oprette en symlink i Nautilus ved at holde Ctrl- og Shift- tasterne nede og trække målfilen til det sted, hvor symlinket skal vises. Bare rolig, den originale fil forbliver sat.

På Windows

Du skal åbne et Kommandoprompt-vindue som administrator og indtaste følgende kommando for at oprette et symbolsk link:

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

For symboliske links til mapper, skal du finpusse kommandoen lidt ved hjælp af flag / d :

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

Hvis du ikke ønsker at arbejde med kommandolinjen, kan du bruge et grafisk værktøj kaldet Link Shell Extension til at oprette symboliske links. Det er en af ​​de bedste Windows File Explorer-udvidelser til filhåndtering.

Bemærk: Systemet forhindrer ikke dig i at oprette et symbolsk link inden for et symbolsk link, men det er bedst at undgå at gøre det. Ellers opretter du en uendelig sløjfe, der kan forårsage problemer for systemdækkende tjenester som antivirusscannere.

Symlinks versus aliaser på macOS

Symlink og alias til en fil i Finder på macOS

Hvis du nogensinde har oprettet aliaser på macOS, vil du bemærke, at de opfører sig meget som symlinks. Begge typer genvej refererer til stienavnet for den tilknyttede fil eller mappe.

Forskellen er, at aliaset også markerer det tilknyttede objekt med en identifikator, der kaldes inode (indeksnode). Denne identifikator er unik for objektet og følger den rundt i filsystemet.

Derfor fungerer aliaset fint, selvom du flytter dets mål til et andet sted. Prøv det med en symlink, så støder du på en fejl. (Du kan flytte aliaset og symlinket uden problemer, medmindre du har at gøre med systembeskyttede filer.)

Begge typer genveje vil naturligvis være ubrugelige, hvis du sletter den originale fil eller omdøber nogen af ​​mapperne højere oppe i hierarkiet.

Kan du ikke se forskellen mellem et alias og en symlink, fordi du har fjernet aliasmærket fra filnavnet til aliaset?

Åbn filinspektøren eller Hent Info- panelet for hver genvej og se på filstørrelsen under afsnittet Generelt . Hvis det står (nul bytes på disk), har du med en symlink at gøre.

Symboliske links (i den aktuelle mappe) vil også afsløre sig selv, når du bruger denne terminal-kommando:

 ls -la 

Kommandoen fungerer også på Linux, og du vil se det symboliske link pege til placeringen af ​​det originale objekt.

Symlinks er bedre end genveje

Symboliske links kan synes initialt forvirrende, men hvis du tager dig tid til at forstå dem, vil du indse, at de trods alt er nemme at bruge!

Du kan endda oprette symboliske links på Android med Termux, en app, der lader dig bruge Linux-kommandolinjen. Og vidste du, at du lettere kan dele Google Drev-filer med symboliske links Gør Google Drev-filer lettere at dele med symboliske links Gør Google Drev-filer lettere at dele med symboliske links Ønsker du at kopiere en fil, som alle forbliver synkroniserede, når der er ændringer lavet til master-filen? Google Drive gør det nemt at gøre det. Læs mere ?

Udforsk mere om: Symbolisk link, terminal.