Skip to content

Använda hårda länkar för att länka filer i Linux

18 de september de 2021
hardlink 56747ee25f9b586a9e497536

A symbolisk länk är ungefär som en genväg på skrivbordet i Windows. Den symboliska länken pekar bara på platsen för en fil. Att radera en symbolisk länk har ingen effekt på den fysiska filen som länken pekar på. En symbolisk länk kan peka på vilken fil som helst i det nuvarande filsystemet eller faktiskt andra filsystem. Detta gör det mer flexibelt än en hård länk. A hård länk är samma fil som den länkar till men med ett annat namn.

Varför använda hårda länkar?

Hårda länkar ger ett effektivt sätt att organisera filer. Tänk att du tog en bild av en brandbil. Du har olika mappar på din maskin enligt följande:

  • Bilder på röda saker
  • Foton av fordon
  • Bilder på räddningstjänsten

Du kan skapa en kopia av fotot och placera det i var och en av mapparna. Det betyder att du har tre kopior av samma fil som tar upp tre gånger utrymmet. Att kategorisera foton genom att kopiera dem tar kanske inte för mycket plats, men om du försökte samma sak med videor skulle du avsevärt minska ditt diskutrymme. En hård länk tar ingen plats alls. Du kan därför lagra samma video i olika olika kategorier (dvs. efter år, genre, rollbesättning, regissörer) utan att påverka ditt diskutrymme.

Hur man skapar en hård länk

Skapa en hård länk med följande syntax: ln sökväg/till/fil/sökväg/till/hård/länk

type = ”code”> Detta är ett bra sätt att organisera musik.

Hur man ser skillnaden mellan en hård länk och en symbolisk länk

Du kan se om en fil har en hård länk genom att använda ls kommando: ls -lt

type = ”code”> En standardfil utan länkar kommer att se ut så här: -rw-r-r– 1 gary gary 1000 dec 18 21:52 poison.mp3

type = ”code”> Kolumnerna är följande:

  • -rw-r-r– = behörigheter
  • 1 = antal länkar
  • Gary = grupp
  • Gary = ägare
  • 1000 = filstorlek
  • 18 dec = datum
  • 21:52 = tid
  • gift.mp3 = filnamn

Om detta var en hård länk skulle utgången se ut så här: -rw-r-r– 2 gary gary 1000 dec 18 21:52 poison.mp3

type = ”code”> Observera att antalet länkar kolumn visar 2. Varje gång en hård länk skapas kommer det antalet att öka. En symbolisk länk kommer att se ut så här: -rw-r-r– 1 gary gary 1000 dec 18 21:52 poison.mp3-> poison.mp3

type = ”code”> Du kan tydligt se att en fil pekar på en annan.

Så här hittar du alla hårda länkar till en fil

Alla filer i ditt Linux -system innehåller ett inodnummer som unikt identifierar filen. En fil och dess hårda länk innehåller samma inod. För att se inodnumret för en fil skriver du följande kommando: ls -i

type = ”code”> Utdata för en enda fil kommer att vara följande: 1234567 filnamn

type = ”code”> För att hitta hårda länkar till en fil behöver du bara göra en filsökning efter alla filer med samma inod (dvs. 1234567). Du kan göra det med följande kommando: hitta ~/ -xdev -inum 1234567

typ = ”kod”>