Basis van Linux en de opdrachtregel
$ echo hello > a.txt
$ ln a.txt h.txt
$ ln -s a.txt s.txt
$ rm a.txt
$ cat h.txt
$ cat s.txtWat is het resultaat van de laatste twee cat-commando's als de bovenstaande commando's in volgorde worden uitgevoerd?
- AZowel h.txt als s.txt toont hello
- Bh.txt geeft een foutmelding dat het bestand niet gevonden wordt, en s.txt toont hello
- Ch.txt toont hello, en s.txt geeft een foutmelding dat het bestand niet gevonden wordt
Antwoord en toelichting tonen
Antwoord: C. h.txt toont hello, en s.txt geeft een foutmelding dat het bestand niet gevonden wordt
Een harde link die met ln wordt gemaakt, is een extra naam die naar dezelfde inode wijst als het oorspronkelijke bestand (de genummerde gegevens die de inhoud en de kenmerken van een bestand beheren). rm a.txt verwijdert alleen de naam a.txt; omdat de naam h.txt blijft bestaan, wordt de inhoud niet gewist en toont cat h.txt hello. Een symbolische link die met ln -s wordt gemaakt, is een apart bestand met het pad „a.txt” als inhoud; zodra a.txt weg is, is er niets meer om te volgen en geeft cat s.txt de fout „No such file or directory”. Een symbolische link waarvan het doel verdwenen is, blijft zo als verbroken link achter.
Verder: nog 9 vragen over Basis van Linux en de opdrachtregel