Skip to main content

Hur man skapar symboliska länkar med hjälp av ln-kommandot

Hur värden och behov skapas (April 2025)

Hur värden och behov skapas (April 2025)
Anonim

Symboliska länkar används precis som genvägar. De kan användas för att göra riktigt långa vägar kortare och ett sätt att enkelt komma åt filer på andra partitioner och enheter.

Den här guiden visar allt du behöver veta om symboliska länkar men du kan kolla in den manuella sidan för ln-kommandot för de andra omkopplarna.

Komma igång

Det finns två typer av länkar tillgängliga:

  • Hårda länkar
  • Mjuka länkar

Innan du börjar är det bra att veta vilka hårda länkar som är och varför du skulle använda dem, men den här guiden kommer främst att fokusera på mjuka länkar eller symboliska länkar som de är mer kända.

Vad är en hård länk?

Varje fil i ditt filsystem identifieras med ett nummer som heter en inod. För det mesta kommer du inte att bryr dig om det här men betydelsen av detta kommer upp i ljuset när du vill skapa en hård länk.

En hård länk kan du tilldela ett annat namn till en fil på en annan plats, men i princip är det exakt samma fil. Nyckeln som länkar filerna tillsammans är inodenummeret. Det stora med hårda länkar är att de inte tar upp fysisk hårddiskutrymme.

En hård länk gör det lättare att kategorisera filer. Tänk dig att du har en mapp full av bilder. Du kan skapa en mapp som heter semesterbilder, en annan mapp som heter barnfoton och en tredje kallad husdjursfoton.

Det är möjligt att du kommer att få några bilder som passar in i alla tre kategorier eftersom de togs på semester med dina barn och hundar närvarande.

Du kan lägga huvudfilen i bilderna på semesterbilderna och sedan skapa en hård länk till det där fotot i barnens fotonkategori och en annan hård länk i kategorin husdjursfotografier - och inget extra utrymme tas upp.

Allt du behöver göra är att ange följande kommando för att skapa en hård länk:

ln / path / to / file / path / to / hardlink

Om du hade ett foto som heter BrightonBeach i semesterfotofilen och du ville skapa en länk i barnens fotomapp, skulle du använda följande kommando:

ln /holidayphotos/BrightonBeach.jpg /kidsphotos/BrightonBeach.jpg

Du kan se hur många filer som länkar till samma inod genom att använda kommandot ls enligt följande:

ls-lt

Utgången kommer att bli något liknande -rw-r - r-- 1 användarnamn gruppnamn datum filnamn.

Den första delen visar användarens behörigheter, men den viktiga delen är numret efter behörigheterna och före användarnamnet.

Om numret är 1 är det den enda filen som pekar på en viss inod (dvs den är inte länkad). Om numret är större än ett, är det svårt kopplat till 2 eller flera filer.

Vad är en symbolisk länk?

En symbolisk länk är som en genväg från en fil till en annan. Innehållet i en symbolisk länk är adressen på den faktiska filen eller mappen som länkas till.

Fördelen med att använda symboliska länkar är att du kan länka till filer och mappar på andra partitioner och på andra enheter.

En annan skillnad mellan en hård länk och en symbolisk länk är att en hård länk måste skapas mot en fil som redan existerar, medan en mjuk länk kan skapas före den fil den pekar på existerande.

För att skapa en symbolisk länk använd följande syntax:

ln -s / path / to / file / path / to / link

Om du är orolig för att skriva över en länk som redan finns kan du använda -b-omkopplaren enligt följande:

ln -s -b / path / to / file / path / till / länk

Detta skapar en säkerhetskopiering av länken om den redan existerar genom att skapa samma filnamn men med en tilde i slutet (~). Om en fil redan finns med samma namn som den symboliska länken får du ett fel.

Du kan tvinga länken att skriva över filen med följande kommando:

ln -s -f / path / to / file / path / to / link

Du vill nog inte använda -f-omkopplaren utan -b-omkopplaren eftersom du kommer att förlora originalfilen.

Ett annat alternativ är att få ett meddelande om du vill skriva över en fil om den redan finns. Det här kan du göra med följande kommando:

ln -s -i / path / to / file / path / to / link

Hur säger du om en fil är en symbolisk länk?

Kör följande ls kommando:

ls-lt

Om en fil är en symbolisk länk så ser du något på följande sätt:

myshortcut -> myfile

Du kan använda en symbolisk länk för att navigera till en annan mapp.

Tänk dig att du har en länk till / Home / musik / rock / Alice Cooper / heystoopid kallad heystoopid.

Du kan köra följande cd-kommando för att navigera till den mappen med följande kommando:

cd heystoopid