Symlink-tutorial i Linux – Sådan oprettes og fjernes et symbolsk link
Et symlink (også kaldet et symbolsk link) er en filtype i Linux, der peger på en anden fil eller en mappe på din computer . Symlinks ligner genveje i Windows.
Nogle kalder symlinks “soft links” – en type link i Linux / UNIX-systemer – i modsætning til “hårde links.”
Forskel Mellem et softlink og et hardt link
Softlinks svarer til genveje og kan pege på en anden fil eller mappe i ethvert filsystem.
Hardlinks er også genveje til filer og mapper, men et hardt link kan ikke oprettes til en mappe eller fil i et andet filsystem.
Lad os se på de trin, der er involveret i oprettelse og fjernelse af et symlink. Vi vil også se, hvilke ødelagte links er, og hvordan man sletter dem.
Sådan oprettes et Symlink
Syntaksen til oprettelse af et symlink er:
ln
er linkkommandoen. Flagget -s
angiver, at linket skal være blødt. -s
kan også indtastes som -symbolic
.
Som standard er ln
kommando opretter hårde links. Det næste argument er path to the file (or folder)
, som du vil linke. (Det vil sige den fil eller mappe, du vil oprette en genvej til.)
Og det sidste argument er path to link
i sig selv (genvejen).
Sådan oprettes et Symlink til en fil – Eksempelkommando
Når du har kørt denne kommando, kan du få adgang til /home/james/transactions.txt
med trans.txt
. Enhver ændring af trans.txt
vil også blive afspejlet i den originale fil.
Bemærk, at denne kommando ovenfor ville skabe linkfilen trans.txt
i din aktuelle mappe. Du kan lige så godt oprette en linket fil i en mappe, der linker dette:
Der skal være en mappe, der allerede hedder “my-stuffs” i din nuværende bibliotek – hvis ikke, vil kommandoen kaste en fejl.
Sådan oprettes et Symlink til en mappe – Eksempelkommando
Svarende til ovenstående bruger vi:
Dette ville skabe en symlinket mappe kaldet “james”, som ville indeholde indholdet af /home/james
. Eventuelle ændringer i denne sammenkædede mappe påvirker også den oprindelige mappe.
Sådan fjernes et symlink
Før du vil fjerne et symlink, kan du bekræfte, at en fil eller mappe er et symlink, så du ikke manipulere med dine filer.
En måde at gøre dette på er:
At køre denne kommando på din terminal viser filens egenskaber. I resultatet, hvis det første tegn er et lille bogstav L (“l”), betyder det, at filen / mappen er et symlink.
Du vil også se en pil (- >) i slutningen angiver den fil / mappe, som simlink peger på.
Der er to metoder til at fjerne et symlink:
Sådan bruges Unlink til Fjern et Symlink
Syntaksen er:
Dette sletter symlinket, hvis processen er vellykket.
Selvom symlinket er i form af en mappe, skal du ikke tilføje “/”, fordi Linux antager, at det “en mappe og unlink
ikke kan slette mapper.
Sådan bruges rm til at fjerne et Symlink
Som vi har set, er et symlink bare en anden fil eller mappe, der peger på en original fil eller mappe. For at fjerne dette forhold kan du fjerne den sammenkædede fil.
Syntaksen er derfor:
For eksempel:
Bemærk, at forsøg på at gøre rm james/
ville resultere i en fejl, fordi Linux antager, at “james /” er en mappe, hvilket ville kræve andre muligheder som r
og f
. Men det er ikke, hvad vi ønsker. En symlink kan være en mappe, men vi er kun bekymrede over navnet.
Den største fordel ved rm
over unlink
er, at du kan fjerne flere symlinks på én gang, som du kan med filer.
Sådan finder og sletter du ødelagte links
Brudte links opstår, når den fil eller mappe, som et symlink peger på, ændrer sti eller slettes.
For eksempel, hvis “transaktioner.txt” flytter fra /home/james
til /home/james/personal
, “trans.txt” -linket går i stykker. Hvert forsøg på at få adgang til filen vil resultere i en “Ingen sådan fil eller mappe” -fejl. Dette skyldes, at linket ikke har noget indhold af dens egen.
Når du opdager ødelagte links, kan du nemt slette filen. En nem måde at finde ødelagte symlinks på er:
Dette viser alle ødelagte symlinks i james
-mappen – fra filer til mapper til underkataloger.
Hvis du overfører -delete
, slettes dem som sådan:
Indpakning
Symbolisk link er et interessant træk ved Linux- og UNIX-systemer.
Du kan oprette let tilgængelige symlinks til at henvise til en fil eller mappe, der ellers ikke ville være praktisk at få adgang til. Med lidt øvelse vil du forstå, hvordan disse fungerer på et intuitivt niveau, og de vil gøre dig meget mere effektiv til at styre filsystemer.