Hvordan endrer jeg en symbolsk lenke i Linux?

Deretter er det tre måter å endre symbolkoblingen på:

  1. Bruk ln med -f kraft og til og med for kataloger -n (inode kan bli gjenbrukt): ln -sfn /some/new/path linkname.
  2. Fjern symbolkoblingen og lag en ny (selv for kataloger): rm linkname; ln -s /noen/ny/bane lenkenavn.

Nei. Symlink-systemkallet vil returnere EEXIST hvis newpath allerede eksisterer. Du kan bare koble fra en ny node i filsystemet.

Hva skjer med symlink hvis vi gir nytt navn til en fil? Når du flytter en fil som symlink peker til, symlink er ødelagt aka dinglende symbolkobling. Du må slette den og opprette en ny hvis du vil peke på det nye filnavnet.

Siden symbolske lenker ikke har moduser chmod har ingen effekt på de symbolske lenkene. Hvis filen angir en katalog, endrer chmod modusen for hver fil i hele undertreet som er koblet til på det tidspunktet. Ikke følg symbolske lenker. Siden symbolske lenker ikke har moduser, har chmod ingen effekt på de symbolske lenkene.

For å fjerne en symbolsk lenke, bruk enten kommandoen rm eller unlink etterfulgt av navnet på symbolkoblingen som et argument. Når du fjerner en symbolsk lenke som peker til en katalog, må du ikke legge til en etterfølgende skråstrek til symbolkoblingsnavnet.

Årsaken hard-linking kataloger er ikke tillatt er litt teknisk. I hovedsak bryter de filsystemstrukturen. Du bør generelt ikke bruke harde lenker uansett. Symbolske lenker tillater det meste av den samme funksjonaliteten uten å forårsake problemer (f.eks. ln -s target link ).

For å lage en symbolsk lenke, bruk alternativet -s ( –symbolic ).. Hvis både FILE og LINK er gitt, vil ln opprette en lenke fra filen spesifisert som det første argumentet ( FILE ) til filen spesifisert som det andre argumentet ( LINK ).

Hvis en symbolsk lenke slettes, målet forblir upåvirket. Hvis en symbolsk lenke peker til et mål, og en gang senere det målet flyttes, får nytt navn eller slettes, blir den symbolske lenken ikke automatisk oppdatert eller slettet, men fortsetter å eksistere og peker fortsatt til det gamle målet, nå et ikke-eksisterende sted eller fil.

Slik viser du de symbolske koblingene i en katalog:

  1. Åpne en terminal og gå til den katalogen.
  2. Skriv inn kommandoen: ls -la. Dette skal lange listen over alle filene i katalogen selv om de er skjult.
  3. Filene som starter med l er dine symbolske lenkefiler.
Liker dette innlegget? Vennligst del til vennene dine:
OS i dag