Hvordan bruke harde lenker til å koble filer i Linux

EN symbolsk lenke er mye som en snarvei på skrivebordet innenfor Windows. Den symbolske lenken peker bare til plasseringen av en fil. Sletting av en symbolsk lenke har ingen effekt på den fysiske filen som koblingen peker til. En symbolsk lenke kan peke til hvilken som helst fil på det gjeldende filsystemet eller andre filsystemer. Dette gjør den mer fleksibel enn en hard link.

EN hard link er den samme filen som den lenker til, men med et annet navn.

Hvorfor bruke harde lenker?

Harde lenker gir en effektiv måte å organisere filer på. Tenk deg at du tok et bilde av en brannbil. Du har forskjellige mapper på maskinen din som følger:

  • Bilder av røde ting
  • Bilder av kjøretøy
  • Bilder av nødetater

Du kan lage en kopi av bildet og plassere det i hver av mappene. Dette betyr at du har tre kopier av den samme filen som tar opp tre ganger plassen. Å kategorisere bilder ved å lage kopier av dem tar kanskje ikke for mye plass, men hvis du prøvde det samme med videoer, vil du redusere diskplassen betydelig.

En hard link tar ingen plass i det hele tatt. Du kan derfor lagre den samme videoen i forskjellige kategorier (dvs. etter år, sjanger, rollebesetning, regissører) uten å påvirke diskplassen din.

Hvordan lage en hard link

Lag en hard kobling ved å bruke følgende syntaks:

ln path/to/file /path/to/hard/link. 

Dette er en god måte å organisere musikk.

Hvordan fortelle forskjellen mellom en hard link og en symbolsk link

Du kan se om en fil har en hard link ved å bruke ls kommando:

ls -lt. 

En standardfil uten lenker vil se slik ut:

-rw-r--r-- 1 gary gary 1000 18. desember 21:52 poison.mp3. 

Kolonnene er som følger:

  • -rw-r--r-- = tillatelser
  • 1 = antall lenker
  • gary = gruppe
  • gary = eier
  • 1000 = filstørrelse
  • 18. desember = dato
  • 21:52 = tid
  • gift.mp3 = filnavn

Hvis dette var en hard kobling, ville utgangen sett slik ut:

-rw-r--r-- 2 gary gary 1000 18. desember 21:52 poison.mp3. 

Legg merke til at kolonnen antall lenker viser 2. Hver gang en hard kobling opprettes, vil tallet øke.

En symbolsk lenke vil se slik ut:

-rw-r--r-- 1 gary gary 1000 18. desember 21:52 poison.mp3 -> poison.mp3. 

Du kan tydelig se at en fil peker til en annen.

Hvordan finne alle harde lenker til en fil

linux inode-verdier

Alle filer i Linux-systemet ditt inneholder et inodenummer som unikt identifiserer filen. En fil og dens harde lenke vil inneholde den samme inoden.

For å se inodenummeret for en fil, skriv inn følgende kommando:

ls -i. 

Utdataene for en enkelt fil vil være som følger:

1234567 filnavn. 

Til finne de harde koblingene for en fil trenger du bare å gjøre et filsøk etter alle filene med samme inode (dvs. 1234567).

Du kan gjøre det med følgende kommando:

finn ~/ -xdev -inum 1234567.