Myk (symbolsk) lenke vs hard lenke

Soft Link Vs Hard Link



Symboliske lenker (også kalt myke lenker) og harde lenker er en ressurs for å få tilgang til filer eller kataloger fra et hvilket som helst sted. Denne artikkelen vil beskrive forskjellene mellom symbolske lenker og harde lenker.

Hard Links

Harde lenker er ikke en fil som inneholder banen til originalfilen, men speilkopier av originalfilen de peker på. En fil og dens harde lenker er ikke knyttet til navnet eller banen, men til inoden som lagrer informasjon om filen, for eksempel plassering, opprettelsesdato, tillatelser og andre attributter. Hvert inode -nummer er unikt i et filsystem som forhindrer at harde lenker fungerer mellom forskjellige partisjoner eller systemer. Harde lenker kan ikke brukes til å koble kataloger.







I motsetning til myke lenker, inneholder harde lenker informasjonen de lenker til, så hvis den originale filen blir fjernet, kan du fortsatt få tilgang til dens data.



I alle Linux -systemer opprettes både harde og symbolske koblinger med kommandoen ln . For å komme i gang må du først lage en fil som heter LinuxHintFile og en katalog som heter LinuxHintDirectory som vist på bildet nedenfor:



ta påLinuxHintFile
rmkdir LinuxHintDirectory
ls
rot@LinuxHint:/hjem/linuxhint#





Slik oppretter du en hard kobling kalt Link2LHFile til filen LinuxHintFile som kjøres i terminalen:

lnLinuxHintFile Link2LHFile



Etter å ha sjekket med ls vi ser den harde lenken vi nettopp opprettet, hvis du skriver ls -i vil du se filens inoder, kan du bekrefte at lenken vi nettopp har opprettet, har samme inode -nummer enn den originale filen, skriv:

ls -Jeg

Som vi sa ovenfor, kan vi ikke bruke harde koblinger for kataloger eller lenker til andre volumer eller filsystemer, vi vil koble LinuxHintDirectory med en myk lenke.

Du kan finne harde lenker i arbeidskatalogen ved å kjøre:

finne -typef-lenker+1

Du kan også finne filer etter inoder, for denne kjøringen:

finne.-inum <InodeNumber>

Som du ser fant den både den originale filen og den harde lenken som deler det samme inode -nummeret.

Myke koblinger

I motsetning til harde lenker, er myke lenker ikke kopier av originalfilen, de inneholder banen til originalfilen, på grunn av dette hvis den originale filen fjernes, vil den myke lenken eller den symbolske lenken peke på at ingen fil blir en ødelagt lenke, eller en foreldreløs lenke, noe som betyr at hvis du mister kildefilen, hvis du sletter eller flytter den, vil den symbolske lenken miste tilgangen til informasjonen, mens informasjonen med den harde lenken forblir til tross for fjerning av kildefilen fordi den er fullstendig og nøyaktig kopi av filen.

I motsetning til harde koblinger deler ikke symbolske lenker den samme inoden med den originale filen, derfor kan symbolsk lenke krysse volumer og filsystemer mens harde lenker ikke kan. Symboliske lenker kan brukes til å koble til kataloger mens det ikke er mulig med harde lenker.

Symboliske lenker opprettes også med programmet ln , men for at lenken skal være symbolsk/myk, må vi spesifisere parameteren -s , for å lage en symbolsk lenke til katalogen LinuxHintDirectory kalt LHDLink run:

ln -sLinuxHintDirectory LHDLink

Og kjør deretter ' ls -i 'For å kontrollere at den ble skapt riktig:

Som vi ser i dette tilfellet ble den symbolske lenken opprettet, men den har et annet inode -nummer enn den opprinnelige filen.

Vi kan vise symbolske lenker i en katalog med kommandoen ls -l

På bildet ovenfor kan vi se tillatelsene til den første filen prefikset de for symbolske lenker, viser enden av linjen også til hvilken fil den symbolske lenken peker.

Jeg håper du fant denne artikkelen nyttig for å forstå forskjeller mellom harde lenker og symbolske lenker og hvordan du lager dem. Følg LinuxHint for flere tips og oppdateringer om Linux.