Overzicht
Het commando `link` maakt een harde koppeling met behulp van twee opgegeven bestandspaden. Het eerste argument is het pad naar het bestaande bestand en het tweede argument is het pad naar de nieuw te maken harde koppeling. Dit commando is vergelijkbaar met de functionaliteit voor het maken van harde koppelingen van het `ln` commando, maar biedt geen extra opties en is uitsluitend gericht op het maken van harde koppelingen.
Belangrijkste Kenmerken
- Maakt een harde koppeling naar een bestaand bestand
- Deelt dezelfde inode als het originele bestand
- Werkt alleen binnen hetzelfde bestandssysteem
- Kan geen harde koppelingen naar mappen maken
Gebruiksvoorbeelden
Hier zijn enkele voorbeelden van het gebruik van het `link` commando.
Basis harde koppeling maken
echo "Hello, World!" > original.txt
link original.txt hardlink.txt
ls -li original.txt hardlink.txt
Maakt een harde koppeling genaamd `hardlink.txt` naar het bestand `original.txt`.
Origineel bestand verwijderen en koppeling controleren
echo "This is a test." > file_to_link.txt
link file_to_link.txt linked_file.txt
rm file_to_link.txt
cat linked_file.txt
Demonstreert dat u nog steeds toegang hebt tot de gegevens via de harde koppeling, zelfs nadat het originele bestand is verwijderd.
Tips & Aandachtspunten
Nuttige tips en zaken waar u op moet letten bij het gebruik van het `link` commando.
Begrip van Harde Koppelingen
- Inode Delen: Harde koppelingen delen hetzelfde inode-nummer als het originele bestand. Dit betekent dat beide namen naar dezelfde werkelijke gegevens verwijzen. Het bestandssysteem houdt een referentieteller (link count) bij voor de inode; de werkelijke gegevens worden pas verwijderd als deze teller nul wordt.
- Bestandssysteemgrenzen: Harde koppelingen kunnen alleen binnen hetzelfde bestandssysteem worden gemaakt. U kunt geen harde koppelingen maken naar bestanden op andere partities of gemounte schijven. In dergelijke gevallen moet u een symbolische koppeling (symlink) gebruiken.
- Mapkoppelingen Niet Toegestaan: Het `link` commando kan geen harde koppelingen naar mappen maken. Harde koppelingen naar mappen zijn over het algemeen niet toegestaan omdat ze de integriteit van het bestandssysteem kunnen verstoren.
Verschil tussen `link` en `ln`
- Functionaliteit: Het `link` commando maakt uitsluitend harde koppelingen. Het `ln` commando daarentegen kan symbolische koppelingen maken met de `-s` optie en biedt meer opties zoals `-f` (force overwrite) en `-v` (verbose output).
- Gebruiksgemak: In de meeste gevallen is het `ln` commando flexibeler en handiger, en daarom wordt het vaker gebruikt. `link` is een meer basaal hulpprogramma dat alleen de harde koppeling functionaliteit van `ln` biedt.