Sådan oprettes hårde og symbolske links i Linux


I Unix-lignende operativsystemer som Linux er "alt en fil" og en fil grundlæggende et link til en inode (en datastruktur, der gemmer alt om en fil bortset fra dens navn og faktiske indhold).

Et hårdt link er en fil, der peger på den samme underliggende inode som en anden fil. Hvis du sletter en fil, fjerner den et link til den underliggende inode. Mens et symbolsk link (også kendt som soft link) er et link til et andet filnavn i filsystemet.

En anden vigtig forskel mellem de to typer links er, at hårde links kun kan fungere inden for det samme filsystem, mens symbolske links kan gå på tværs af forskellige filsystemer.

Sådan oprettes hårde links i Linux

For at oprette hårde links i Linux bruger vi ln-værktøjet. For eksempel opretter følgende kommando et hårdt link med navnet tp til filen topprocs.sh .

$ ls -l
$ ln topprocs.sh tp
$ ls -l

Når man ser på output ovenfor ved hjælp af kommandoen ls, er den nye fil ikke angivet som et link, den vises som en almindelig fil. Dette indebærer, at tp bare er en anden almindelig eksekverbar fil, der peger på den samme underliggende inode som topprocs.sh .

For at oprette et hårdt link direkte til et softlink skal du bruge flagget -P som dette.

$ ln -P topprocs.sh tp

Sådan oprettes symbolske links i Linux

For at oprette symbolske links i Linux bruger vi det samme ln-værktøj med -s switch. For eksempel opretter følgende kommando et symbolsk link med navnet topps.sh til filen topprocs.sh .

$ ln -s ~/bin/topprocs.sh topps.sh
$ ls -l topps.sh

Fra ovenstående output kan du se fra filtilladelsessektionen, at topps.sh er et link angivet med l: hvilket betyder, at det er et link til et andet filnavn.

Hvis det symbolske link allerede findes, kan du få en fejl for at tvinge operationen (fjerne det afslutte symbolske link), skal du bruge indstillingen -f .

$ ln -s ~/bin/topprocs.sh topps.sh
$ ln -sf ~/bin/topprocs.sh topps.sh

For at aktivere den detaljerede tilstand skal du tilføje -v -flaget for at udskrive navnet på hver linket fil i output.

$ ln -sfv ~/bin/topprocs.sh topps.sh
$ $ls -l topps.sh

Det er det! Tjek disse følgende relaterede artikler.

  1. fdupes - Et kommandolinjeværktøj til at finde og slette duplikatfiler i Linux
  2. 5 nyttige kommandoer til at styre filtyper og systemtid i Linux

I denne artikel har vi lært, hvordan man opretter hårde og symbolske links i Linux. Du kan stille ethvert spørgsmål eller dele dine tanker om denne guide via feedbackformularen nedenfor.