Comment créer des fichiers de périphérique dans Linux à l'aide de la commande MKNOD
- 3257
- 998
- Mohamed Brunet
Dans Linux, Tout est un fichier, même les appareils physiques tels que les lecteurs de disque, la ROM CD / DVD et les disquettes sont représentés à l'aide de fichiers. Cependant, ces fichiers ne sont pas des fichiers de données réguliers. Au lieu de cela, ces fichiers spéciaux sont appelés fichiers de périphérique et ils peuvent générer ou recevoir les données.
Habituellement, tous les fichiers spéciaux sont présents sous le / dev annuaire. Certains des exemples courants de fichiers spéciaux sont / dev / null, / dev / zéro, / dev / complet, et / dev / sr0.
Les fichiers spéciaux peuvent être du caractère ou du blocage. Comme son nom l'indique, les fichiers de caractères traitent un caractère à un moment où les fichiers de blocs traitent plusieurs caractères à la fois.
Dans ce guide avancé, nous discuterons de la façon de créer un fichier de périphérique à l'aide du mknod commande. Après avoir suivi ce guide, les utilisateurs de Linux pourront travailler avec différents types de fichiers de périphérique en toute confiance.
Table des matières
1- Syntaxe de commande MKNOD
- 1. Créer un tuyau sans nom dans Linux
- 2. Créer un tuyau nommé dans Linux
- 3. Créer un fichier de périphérique de caractère dans Linux
- 4. Créer un fichier de périphérique de bloc dans Linux
- 5. Créer un fichier de périphérique avec des autorisations
Syntaxe de commande MKNOD
La syntaxe du mknod La commande est légèrement différente des autres commandes Linux. La principale différence est que nous devons spécifier les nombres majeurs et mineurs tout en créant un caractère et bloquer les fichiers de périphériques:
$ mknod [options] [Major] [mineur]…
Dans la syntaxe ci-dessus, les crochets ([])
représentent les arguments facultatifs tandis que les supports angulaires ()
représenter les arguments obligatoires.
Dans Linux, le nombre majeur est utilisé pour spécifier le pilote de périphérique qui doit être utilisé. Ce numéro est attribué lors de l'enregistrement d'un pilote d'appareil.
De la même manière, le nombre mineur est utilisé pour spécifier l'appareil réel. Nous pouvons trouver les nombres majeurs et mineurs réservés dans la documentation du noyau Linux.
1. Créer un tuyau sans nom dans Linux
Dans Linux, nous utilisons des tuyaux pour permettre la communication interprète. Dans Shell, le tuyau est représenté en utilisant la ligne verticale (|)
. Il lit la sortie du processus précédent et l'envoie comme entrée au processus suivant.
Comprenons cela avec un exemple simple:
$ echo "Tecmint.com "| wc -c
Dans cet exemple, nous utilisons le tuyau pour lire la sortie de la commande echo et l'envoyons comme entrée à la commande wc pour un traitement ultérieur.
Ici, nous avons utilisé la ligne verticale (|)
Pour créer un tuyau. Cependant, cela crée un tuyau sans nom et sa portée est limitée à la commande actuelle uniquement. Dans l'exemple suivant, nous verrons comment créer un tuyau nommé.
2. Créer un tuyau nommé dans Linux
Nous pouvons utiliser le mknod commande pour créer un tuyau nommé. Le tuyau nommé réside sur le système de fichiers comme tout autre fichier régulier. Cependant, son objectif principal est de permettre la communication interprète entre les processus non liés.
Tout d'abord, spécifions le type de périphérique comme p
Pour créer un tuyau nommé:
$ mknod / tmp / nommé P $ ls -l / tmp / nommé-pipe
Maintenant, essayons de lire le fichier:
$ cat / tmp / nommé
Ici, nous pouvons voir que la commande CAT attend l'infini:
Lire le fichier de tuyaux nomméEnsuite, ouvrons un autre terminal et écrivons des données sur le / tmp / nommé-pipe déposer:
$ echo "Tecmint.com "> / tmp / nommé-pipe
Enfin, dirigez-vous vers le premier terminal pour voir le résultat:
Afficher le fichier de tuyaux nomméIci, nous pouvons voir que le écho et chat Les commandes sont capables de communiquer en utilisant le tuyau nommé.
3. Créer un fichier de périphérique de caractère dans Linux
De la même manière, nous pouvons utiliser le type d'appareil comme c
Pour créer un périphérique de caractère. Cependant, nous devons avoir à utiliser les nombres majeurs et mineurs tout en créant un appareil de caractère.
Utilisons la commande LS pour trouver le nombre majeur et mineur du / dev / complet appareil:
$ ls -l / dev / completTrouver le fichier majeur et le numéro mineur
Dans la sortie ci-dessus, la paire de nombres séparés par des virgules I.e. 1, 7 représentent respectivement les nombres majeurs et mineurs.
Dans Linux, le / dev / complet l'appareil renvoie toujours le Aucun espace laissé sur l'erreur de l'appareil. Pour comprendre cela, écrivons des données sur cet appareil:
$ echo "Tecmint.com "> / dev / fullÉcrire des données dans le fichier de périphérique
Maintenant, utilisons le mknod commande pour créer un nouvel appareil qui se comporte de la même manière que / dev / complet appareil:
$ sudo mknod / tmp / complet C 1 7
Ensuite, modifions les autorisations de fichier:
$ sudo Chmod 666 / TMP / Full-Device $ LS -L / TMP / Full-Device
Enfin, écrivez des données sur l'appareil nouvellement créé:
$ echo "tecmint"> / tmp / completCréer un nouveau fichier de périphérique
Il est important de noter que le dispositif de caractère nouvellement créé se comporte comme le / dev / complet appareil en raison des mêmes nombres majeurs et mineurs.
4. Créer un fichier de périphérique de bloc dans Linux
En plus de cela, nous pouvons spécifier le type de périphérique comme b
Pour créer un périphérique de bloc. Pour créer un appareil de bloc, nous devons utiliser les nombres majeurs et mineurs.
En linux, / dev / sr0 représente le ROM CD / DVD appareil. Maintenant, créons un nouvel appareil de bloc qui se comporte de la même manière que / dev / sr0.
Tout d'abord, découvrons le nombre majeur et mineur du / dev / sr0:
$ ls -l / dev / sr0Vérifiez le fichier de périphérique majeur et numéros mineurs
Dans la sortie ci-dessus, nous pouvons voir que ses nombres majeurs et mineurs sont 11 et 0 respectivement.
Maintenant, créons un nouvel appareil de bloc avec les mêmes numéros majeurs et mineurs:
$ sudo mknod / tmp / dvd-rom b 11 0 $ ls -l / tmp / dvd-romCréer un nouveau périphérique de bloc
Ensuite, montons l'image ISO de la ROM CD / DVD à la / mnt Répertoire et vérifiez que l'opération de montage réussit:
$ sudo mont / tmp / dvd-rom / mnt / $ ls -1 / mnt /Monter le nouveau périphérique de bloc
Dans cet exemple, nous pouvons voir que le / TMP / DVD-ROM Le périphérique de bloc est capable d'accéder à l'image ISO à partir de la ROM CD / DVD.
5. Créer un fichier de périphérique avec des autorisations
Parfois, nous devons modifier l'autorisation d'accès du fichier de périphérique avant de l'utiliser. Dans de tels cas, nous devons utiliser le chod commande. Cependant, nous pouvons obtenir le même résultat en utilisant le mknod commande au lieu d'utiliser deux commandes distinctes.
Pour comprendre cela, utilisons le -m
Option pour définir les autorisations d'accès lors de la création d'un tuyau nommé:
$ sudo mknod -m 444 / tmp / tuyau avec permissions p
Maintenant, vérifions que les autorisations ont été correctement définies:
$ ls -l / tmp / tuyau avec permissionsCréer un fichier de périphérique avec les autorisations
Dans cet exemple, nous avons utilisé le -m
Option avec le tuyau nommé. Cependant, nous pouvons également l'utiliser avec le caractère et les appareils de blocage.
Connaissez-vous tout autre meilleur exemple du mknod Commande dans Linux? Faites-nous savoir votre point de vue dans les commentaires ci-dessous.
- « Top Distributions Linux pour les étudiants en 2023
- Comment obtenir des alertes par e-mail de connexion SSH racine et utilisateur »