Overzicht
mknod creëert bestanden met een speciaal doel binnen het bestandssysteem. Deze bestanden dienen als interfaces voor specifieke apparaten of communicatiekanalen, in plaats van het opslaan van daadwerkelijke gegevens. Block devices vertegenwoordigen apparaten die gegevens in blokken verzenden, zoals schijven, terwijl character devices apparaten vertegenwoordigen die gegevens in karakters verzenden, zoals terminals of seriële poorten. FIFO's zijn named pipes die worden gebruikt voor het uitwisselen van gegevens tussen twee of meer processen.
Belangrijkste toepassingen
- Aanmaken van block device bestanden
- Aanmaken van character device bestanden
- Aanmaken van FIFO's (named pipes)
Belangrijkste opties
Het mknod commando gebruikt opties om het type speciale bestand dat moet worden aangemaakt te specificeren, en argumenten om de Major en Minor apparaatnummers op te geven voor apparaatbestanden.
Specificeren van bestandstype
Specificeren van apparaatnummers (alleen voor block/character devices)
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`mknod` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Voorbeelden van gebruik
Het mknod commando moet meestal met root-rechten worden uitgevoerd. De volgende voorbeelden tonen het gebruikelijke gebruik.
FIFO (named pipe) aanmaken
mknod my_pipe p
Maakt een FIFO-bestand aan dat zal worden gebruikt voor inter-procescommunicatie.
Block device bestand aanmaken (bijv. virtuele schijf)
sudo mknod /dev/myblockdev b 8 16
Maakt een block device bestand aan met Major nummer 8 (SCSI/SATA schijf) en Minor nummer 16. Werkt niet als het niet is gekoppeld aan een echt apparaat.
Character device bestand aanmaken (bijv. virtuele terminal)
sudo mknod /dev/mychardev c 4 64
Maakt een character device bestand aan met Major nummer 4 (virtuele terminal) en Minor nummer 64. Werkt niet als het niet is gekoppeld aan een echt apparaat.
Aangemaakte speciale bestanden controleren
ls -l my_pipe /dev/myblockdev /dev/mychardev
Gebruik het ls -l commando om het type en de permissies van de aangemaakte speciale bestanden te controleren. 'p' geeft een FIFO aan, 'b' een block device, en 'c' een character device.
Tips & Waarschuwingen
Het mknod commando beheert belangrijke delen van het systeem, dus wees uiterst voorzichtig bij het gebruik ervan.
Permissies
- In de meeste gevallen moet mknod met root-rechten (sudo) worden uitgevoerd. Gewone gebruikers kunnen FIFO-bestanden aanmaken, maar apparaatbestanden vereisen root-rechten voor systeemintegriteit.
Begrip van apparaatnummers
- Major en Minor apparaatnummers worden door de systeemkernel gebruikt om specifieke apparaatstuurprogramma's en de individuele apparaten die door die stuurprogramma's worden beheerd, te identificeren. Het gebruik van onjuiste nummers kan leiden tot systeemfouten, dus zorg ervoor dat u de juiste nummers controleert en gebruikt. U kunt de nummers van bestaande apparaten raadplegen via `/proc/devices` of het `ls -l /dev` commando.
Risico op beschadiging van het bestandssysteem
- Het aanmaken van apparaatbestanden voor niet-bestaande apparaten, of het gebruiken van nummers die conflicteren met bestaande apparaatbestanden, kan leiden tot systeeminstabiliteit of gegevensverlies. Gebruik het alleen voorzichtig en alleen wanneer absoluut noodzakelijk.