Hvordan lage harde og symbolske lenker i Linux


I Unix-lignende operativsystemer som Linux er «alt en fil» og en fil i bunn og grunn en kobling til en inode (en datastruktur som lagrer alt om en fil bortsett fra navnet og det faktiske innholdet).

En hard link er en fil som peker til den samme underliggende inoden, som en annen fil. Hvis du sletter én fil, fjerner den én kobling til den underliggende inoden. Mens en symbolsk lenke (også kjent som myk lenke) er en kobling til et annet filnavn i filsystemet.

En annen viktig forskjell mellom de to typene lenker er at harde lenker bare kan fungere innenfor samme filsystem mens symbolske lenker kan gå på tvers av forskjellige filsystemer.

Hvordan lage harde lenker i Linux

For å lage en harde lenker i Linux, vil vi bruke ln-verktøyet. For eksempel oppretter følgende kommando en hard lenke kalt tp til filen topprocs.sh.

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

Når du ser på utdataene ovenfor, ved å bruke ls-kommandoen, er den nye filen ikke angitt som en lenke, den vises som en vanlig fil. Dette innebærer at tp bare er en annen vanlig kjørbar fil som peker til den samme underliggende inoden som topprocs.sh.

For å lage en hard link direkte til en myk link, bruk -P flagget slik.

$ ln -P topprocs.sh tp

Hvordan lage symbolske lenker i Linux

For å lage en symbolsk lenker i Linux, vil vi bruke samme ln-verktøy med -s-bryteren. For eksempel oppretter følgende kommando en symbolsk lenke kalt topps.sh til filen topprocs.sh.

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

Fra utdataene ovenfor kan du se fra filtillatelsesdelen at topps.sh er en lenke indikert med l: som betyr at den er en kobling til et annet filnavn.

Hvis den symbolske lenken allerede eksisterer, kan du få en feilmelding, for å tvinge operasjonen (fjern utgående symbolsk lenke), bruk -f-alternativet.

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

For å aktivere detaljert modus, legg til -v-flagget for å skrive ut navnet på hver koblede fil i utdataene.

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

Det er det! Sjekk ut disse følgende relaterte artiklene.

  1. fdupes – Et kommandolinjeverktøy for å finne og slette dupliserte filer i Linux
  2. 5 nyttige kommandoer for å administrere filtyper og systemtid i Linux

I denne artikkelen har vi lært hvordan du lager harde og symbolske lenker i Linux. Du kan stille spørsmål eller dele tankene dine om denne veiledningen via tilbakemeldingsskjemaet nedenfor.