Hva er en symlink i Linux?

Hva er en symlink i Linux?
En symlink er også kjent som symbolsk lenke eller myk lenke. Det er en snarvei for en absolutt eller relativ vei til en katalog eller fil. Et navn som representerer en snarvei av en absolutt eller relativ vei til en katalog eller fil er en symlink. Symlink er en fil med lite innhold hvis filnavn brukes som Symlink. Tenk på følgende absolutte lenke:
/Home/John/Dir1/Dir2/Dir3/Dir4

Den første fremover -skråstrekningen er rotkatalogen; Hjem er hjemmekatalogen, som er en underkatalog til rotkatalogen; John er katalogen til brukeren, John, som er en underkatalog til hjemmekatalogen. Resten av katalogene er underkataloger til en tidligere katalog opprettet av John.

Det er mulig å ha et navn som heter fjerde bosatt i DIR2 -katalogen, og representerer Dir4, for den absolutte banen,

/Home/John/Dir1/Dir2/Dir3/Dir4

eller den relative banen,

Dir3/Dir4

Nå er fjerde bosatt i Dir2 en symlink til DIR4. Tenk på den samme absolutte lenken, men med en fil som heter, Effile; det er:

/Home/John/Dir1/Dir2/Dir3/Dir4/Effile

Det er mulig å ha et navn som heter FourthFile bosatt i DIR2 -katalogen, og representerer Effile, for den absolutte banen,

/Home/John/Dir1/Dir2/Dir3/Dir4/Effile

eller den relative banen,

Dir3/Dir4/Effile

Nå er fjerdefilen som er bosatt i Dir2 en symlink for å effektivisere.

En symbolsk lenke kan representere en katalog eller en fil. Leseren vet nå hva som kalles en symbolsk lenke i Linux/UNIX -operativsystemer. Er imidlertid at all programmereren skal vite? - Nei. Programmereren må vite hvordan du oppretter en symlink, bruker en symlink, sletter en symlink, som betyr dinglende koblinger, sammenligning med harde lenker, og fordelene og ulempene ved en type lenke. Alt som diskuteres i denne artikkelen.

Bash -skallet brukes til denne artikkelen.

Artikkelinnhold

  • INNLEDNING - Se ovenfor
  • Opprette en symlink
  • Bruke symlink
  • Fjerne symlink
  • Dinglende lenke
  • Grunnleggende om hardkobling
  • Noen fordeler og ulemper ved begge lenker
  • Konklusjon

Opprette en symlink

Før du oppretter en symlink, bør en katalogsti og/eller fil allerede eksistere. Hvis banen ikke allerede eksisterer, kan den opprettes som følger, fra noen katalog:

Mkdir -p/Home/John/Dir1/Dir2/Dir3/Dir4

Hvis -p -bryteren er fraværende, vil ikke katalogene bli opprettet. En symlink kan representere en katalogsti alene eller en katalogsti med en fil. Hvis filen ikke allerede eksisterer, kan den opprettes fra en hvilken som helst katalog eller hjemmekatalogen, som følger:

Touch/Home/John/Dir1/Dir2/Dir3/Dir4/Effile

Filen (tekstfilen) er effektiv, og filen har foreløpig ikke noe innhold.

Opprette en symlink

Syntaksen for å lage en symlink til en katalog er:

LN -S [Original Path] [Nytt lenkenavn]

Syntaksen for å opprette en symlink til en fil er lik, det vil si:

LN -S [Original Path/Filename] [Ny koblingsfilnavn]

Link -kommandoen er ln. Hvis -s -bryteren er fraværende, opprettes en hard kobling (se nedenfor).

Opprette en katalogsymlink

En symlink må oppholde seg i en katalog. For å lage en symlink til en annen katalog, må programmereren bruke CD -kommandoen for å gå dit Symlink vil ligge, og der, lage symlink med en absolutt bane eller en relativ bane. Symlink, fjerde som er bosatt i Dir2, for katalogen, DIR4 på banen

/Home/John/Dir1/Dir2/Dir3/Dir4

Kan opprettes i Dir2 som følger:

LN -S/HOME/JOHN/DIR1/DIR2/DIR3/DIR4 Fjerde

Bruk av den relative lenken vil være som følger, fremdeles i DIR2 -katalogen:

ln -s dir3/dir4 fjerde

Opprette en filsymlink

En symlink må oppholde seg i en katalog. For å opprette en symlink til en fil i en annen katalog, må programmereren bruke CD -kommandoen for å gå dit Symlink vil ligge, og der, lage Symlink med en absolutt bane eller med en relativ bane. Symlink, fjerdefilen for å bo i Dir2, for den effektive filen i Dir4, av banen,

/Home/John/Dir1/Dir2/Dir3/Dir4

Kan opprettes i Dir2 som følger:

Ln -S/Home/John/Dir1/Dir2/Dir3/Dir4/Effile FourthFile

Bruk av den relative lenken vil være som følger, fremdeles i DIR2 -katalogen:

Ln -s Dir3/Dir4/Effile FourthFile

Er det mulig å opprette en filsymlink fra en katalogsymlink? - Ja. Jeg forlater det som en øvelse for leseren.

Bruke symlink

For å få tilgang til katalogen, Dir4, ved å bruke Symlink, fjerde, fra hvilken som helst katalog, type:

CD ~/dir1/dir2/fjerde

og trykk Enter. Legg merke til at fjerde har erstattet Dir3/Dir4. Ledeteksten vil bli noe sånt som:

John@ComputerName: ~/Dir1/Dir2/Fourth $

Dette er imidlertid ikke veien til Dir4. Stien er faktisk:

/Home/John/Dir1/Dir2/Dir3/Dir4/

For å få tilgang til filen, Effile in Directory, Dir4, ved hjelp av Symlink, FourthFile, fra hvilken som helst katalog, type:

Cat ~/Dir1/Dir2/FourthFile

og trykk Enter. Legg merke til at FourthFile har erstattet Dir3/Dir4/Effile. Innholdet i filen (Effile) skal vises på terminalen. Legg merke til bruken av kommandoen, katt.

Fjerne symlink

Mer enn en symlink

Det kan være mer enn en symlink til en katalog eller en fil. Når en katalog eller fil opprettes, er det en naturlig lenke til den. En symbolsk lenke er bare noe alternativ og kortere kode for å få tilgang til katalogen eller filen. Det kan være mer enn en symlink for å få tilgang til en katalog eller en fil. Hvis noen symlink blir slettet, forblir de andre symlinkene eller den naturlige koblingen operativ.

For å kjenne til antall lenker og den opprinnelige banen (banen som brukes til å lage Symlink), gå til katalogen som har Symlink med CD -kommandoen og typen:

ls -la

Det vil vise noen linjer. Det vil være en linje for hver av lenkene. Etter at teksten som LRWXR-XRWX vil være antall symlinks. På slutten av linjen, vil være den opprinnelige banen. Et eksempel på skjermen er som følger:

Totalt 12
DRWXR-XR-X 3 John John 4096 30. mai 19:42 .
DRWXR-XR-X 3 John John 4096 30. mai 07: 59 ..
DRWXR-XR-X 3 John John 4096 30. mai 07:59 Dir3
LRWXRWXRWX 1 John John 32 30. mai 19:42 Fjerde ->/Hjem/Forcha/Dir1/Dir2/Dir3/Dir4
LRWXRWXRWX 1 John John 39. mai 30 19:38 FourthFile ->/Home/Forcha/Dir1/Dir2/Dir3/Dir4/Effile

RM -kommandoen

Husk at Symlink er bosatt i en katalog. En katalog eller filsymlink fjernes på samme måte som en fil fjernes; Tross alt er en symlink en fil. Følgende to kommandoer illustrerer dette:

rm ~/dir1/dir2/fjerde
RM ~/Dir1/Dir2/FourthFile

Legg merke til den foregående banen til Symlink -filen. Legg også merke til bruken av ~ som refererer til brukerkatalogen.

Dinglende lenke

Det kan være mer enn en symlink til en katalog eller en fil. Hvis den faktiske katalogen eller filen flyttes eller fjernes ved hjelp av den naturlige lenken, blir symlinkene dinglende koblinger, ettersom de ikke lenger har noen bruk. En dinglende lenke kalles også en ødelagt lenke, eller foreldreløs lenke, eller død lenke.

Grunnleggende om hardkobling

Det naturlige navnet til en katalog eller fil er en hard lenke. Andre harde lenker kan opprettes for å peke på den samme katalogen eller filen. Hvis den opprinnelige katalogen eller filen blir slettet (fjernet) ved hjelp av den naturlige lenken, eksisterer dataene fremdeles gjennom de andre harde koblingene. Dataene fjernes helt bare når alle de harde koblingene er fjernet.

Merk: Hard lenker anbefales bare for filer og ikke for kataloger.

Noen fordeler og ulemper ved begge lenker

Fordeler

  • En symlink kan lenke til en fil, så vel som til en katalog.
  • En myk lenke (symlink) kan opprettes for forskjellige volumer (filsystemer).
  • En hard lenke kan ikke ende opp som en ødelagt (dinglende) lenke.

Ulemper

  • Soft Links (Symlinks) har muligheten til å bli død (dinglende) lenker.
  • Det anbefales ikke at det opprettes en ny hard lenke for en katalog.
  • En hard lenke kan ikke opprettes for forskjellige volumer (filsystemer).

Konklusjon

En symlink er en snarvei til en katalog eller en fil. Snarveien er i seg selv en fil med lite innhold og må oppholde seg i en katalog. En ny hard lenke er et alternativt navn til det opprinnelige navnet og peker på den samme filen. Myke lenker og harde koblinger har sine fordeler og ulemper. For å opprette en symlink, gå til katalogen der Symlink må være. Bruk LN -kommandoen med -S -bryteren. For å få tilgang til en symlink, pass på symlink på slutten av katalogstien og muligens gå foran banen med ~. Et annet navn for Symlink er en symbolsk lenke eller myk lenke. For å vite antall symlinks for en katalog eller en fil, gå til katalogen der Symlink er bosatt og bruk kommandoen, “LS -LA.”Dette gir også den opprinnelige banen.

En symlink fjernes på den måten en fil fjernes. Det er forskjellige måter å fjerne en symlink. Kommandoen for å enkelt huske å fjerne en symlink er imidlertid RM. Monter Symlink på slutten av katalogstien om nødvendig. Og muligens gå foran banen med ~. En dangende lenke er en symlink av en fil eller en katalog, som er flyttet eller slettet (fjernet). En slik kobling er ikke lenger til bruk. Et annet navn for dinglende lenker er ødelagt lenke, eller foreldreløs lenke, eller død lenke.