Zoeken op website

Hoe harde en symbolische koppelingen te maken in Linux


In Unix-achtige besturingssystemen zoals Linux is “alles een bestand” en is een bestand in wezen een link naar een inode (een datastructuur die alles over een bestand opslaat, behalve de naam en de daadwerkelijke inhoud).

Een harde link is een bestand dat naar dezelfde onderliggende inode verwijst als een ander bestand. Als u één bestand verwijdert, wordt één link naar de onderliggende inode verwijderd. Terwijl een symbolische link (ook wel zachte link genoemd) een link is naar een andere bestandsnaam in het bestandssysteem.

Lees ook: Bestands- en mapbeheer uitvoeren

Een ander belangrijk verschil tussen de twee soorten links is dat harde links alleen binnen hetzelfde bestandssysteem kunnen werken, terwijl symbolische links over verschillende bestandssystemen heen kunnen gaan.

Hoe harde koppelingen te maken in Linux

Om harde links in Linux te maken, gebruiken we het ln-hulpprogramma. Met de volgende opdracht wordt bijvoorbeeld een harde link met de naam tp gemaakt naar het bestand topprocs.sh.

ls -l
ln topprocs.sh tp
ls -l

Kijkend naar de bovenstaande uitvoer, met behulp van de opdracht ls, wordt het nieuwe bestand niet aangegeven als een link, maar wordt het weergegeven als een gewoon bestand. Dit houdt in dat tp gewoon een regulier uitvoerbaar bestand is dat verwijst naar dezelfde onderliggende inode als topprocs.sh.

Om van een harde link direct een zachte link te maken, gebruik je de vlag -P op deze manier.

ln -P topprocs.sh tp

Hoe symbolische koppelingen te maken in Linux

Om symbolische links in Linux te maken, gebruiken we hetzelfde ln-hulpprogramma met de -s-schakelaar. Met de volgende opdracht wordt bijvoorbeeld een symbolische link met de naam topps.sh gemaakt naar het bestand topprocs.sh.

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

Uit de bovenstaande uitvoer kun je in de sectie met bestandsrechten zien dat topps.sh een link is die wordt aangegeven met l:, wat betekent dat het een link is naar een andere bestandsnaam.

Als de symbolische link al bestaat, kunt u een foutmelding krijgen. Om de bewerking te forceren (verwijder de afsluitende symbolische link), gebruikt u de optie -f.

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

Om de uitgebreide modus in te schakelen, voegt u de vlag -v toe om de naam van elk gekoppeld bestand in de uitvoer af te drukken.

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

Dat is het! Bekijk deze volgende gerelateerde artikelen.

  1. fdupes - Een opdrachtregelprogramma om dubbele bestanden in Linux te vinden en te verwijderen
  2. 5 nuttige opdrachten om bestandstypen en systeemtijd in Linux te beheren

In dit artikel hebben we geleerd hoe je harde en symbolische koppelingen kunt maken in Linux. Via het onderstaande feedbackformulier kunt u al uw vragen stellen of uw mening over deze handleiding delen.