Skip to main content

Hur man använder hårda länkar till länkfiler i Linux

OPPO Presents Suno Chanda Season 2 Episode #28 HUM TV Drama 3 June 2019 (April 2025)

OPPO Presents Suno Chanda Season 2 Episode #28 HUM TV Drama 3 June 2019 (April 2025)
Anonim

Det finns 2 typer av länkar som du kan skapa inom Linux:

  • Hårda länkar
  • Symboliska länkar

En symbolisk länk är ungefär som en genväg i Windows. Den symboliska länken pekar bara på platsen för en fil.

Att ta bort 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 aktuella filsystemet eller i andra filsystem. Detta gör det mer flexibelt än en hård länk.

En hård länk är faktiskt samma fil som den länkar till men med ett annat namn. Det enklaste sättet att tänka på det är följande:

Föreställ dig att du föddes med förnamnet Robert. Andra människor kanske känner dig som Robbie, Bob, Bobby eller Rob. Varje person skulle prata om samma person.

Varje länk lägger till 1 till en räknare av länk vilket innebär att radera den fysiska filen som du måste radera var och en av länkarna.

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

Hårda länkar ger ett effektivt sätt att organisera filer. Det enklaste sättet att beskriva detta är med en gammal Sesam Street-episod.

Bert berättade för Ernie att städa bort alla sina saker och så Ernie satte sig om sin uppgift. Först och främst bestämde han sig för att städa bort alla röda saker. "Eldmotorn är röd". Så Ernie sätter eldmotorn iväg.

Nästa beslutar Ernie att lägga bort alla leksaker med hjul. Eldmotorn har hjul. Så Ernie rensade eldmotorn borta.

Det är självklart att Bert kommer hem för att hitta exakt samma röra som tidigare men Ernie hade röjt eldmotorn borta ett halvt dussin gånger.

Tänk dig att brandmotorn bara var en bild av en brandmotor. Du kan ha olika mappar på din maskin enligt följande:

  • Bilder av röda saker
  • Foton på fordon
  • Bilder av akuttjänster

Nu kan du skapa en kopia av fotot och placera det i varje mapp. Det betyder att du har tre kopior av samma fil och tar upp tre gånger platsen.

Att kategorisera foton genom att kopiera dem kanske inte tar upp för mycket utrymme, men om du försökte samma sak med videoklipp skulle du avsevärt minska ditt diskutrymme.

En hård länk tar inget utrymme alls. Du kan därför lagra samma video i olika kategorier (dvs. år, genre, cast, regissörer) utan att minska diskutrymmet.

Hur man skapar en hård länk

Du kan skapa en hård länk med följande syntax:

Iväg / till / fil / sökväg / till / hård / länk

Till exempel, i bilden ovan har vi en Alice Cooper musikmapp som heter Trash i sökvägen / home / gary / Music / Alice Cooper / Trash. I den mappen finns det 10 låtar varav en är klassisk Poison.

Nu är Poison ett rockspår så vi skapade en mapp som heter Rock under musikmappen och skapade en hård länk till Poison genom att skriva följande fil:

ln "01 - Poison.mp3" "~ / Music / rock / Poison.mp3"

Det här är ett bra sätt att organisera musik.

Hur man berättar 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 kommandot ls:

ls-lt

En standardfil utan länkar ser ut som följer

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

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
  • poison.mp3 = filnamn

Om det här var en hård länk så skulle utmatningen se ut som följer:

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

Observera att antalet kolumner i kolumnen visar 2. Varje gång en hård länk skapas kommer numret att öka.

En symbolisk länk kommer att se ut som följer:

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

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 filtyp följer följande kommando:

ls -i

Utdata för en enda fil kommer att vara enligt följande:

1234567 filnamn

För att hitta de hårda länkarna för en fil behöver du bara göra en filsökning för alla filer med samma inod (dvs 1234567).

Du kan göra det med följande kommando:

hitta ~ / -xdev -inum 1234567