GNU/Linux >> Tutoriels Linux >  >> Linux

Une introduction aux canaux et aux canaux nommés sous Linux

Sous Linux, le pipe La commande vous permet d'envoyer la sortie d'une commande à une autre. La canalisation, comme le terme l'indique, peut rediriger la sortie, l'entrée ou l'erreur standard d'un processus vers un autre pour un traitement ultérieur.

La syntaxe du pipe ou unnamed pipe la commande est le | caractère entre deux commandes :

Command-1 | Command-2 | …| Command-N

Ici, le tube n'est pas accessible via une autre session ; il est créé temporairement pour s'adapter à l'exécution de Command-1 et rediriger la sortie standard. Il est supprimé après une exécution réussie.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Dans l'exemple ci-dessus, contents.txt contient une liste de tous les fichiers d'un répertoire particulier, en particulier la sortie de ls -al commande. On commence par grep les noms de fichiers avec le mot clé "file" de contents.txt par tuyauterie (comme indiqué), donc la sortie du cat La commande est fournie comme entrée pour le grep commande. Ensuite, nous ajoutons une canalisation pour exécuter le awk commande, qui affiche la colonne 9 de la sortie filtrée de grep commande. Nous pouvons également compter le nombre de lignes dans contents.txt en utilisant le wc -l commande.

Un canal nommé peut durer tant que le système est opérationnel ou jusqu'à ce qu'il soit supprimé. C'est un fichier spécial qui suit le mécanisme FIFO (premier entré, premier sorti). Il peut être utilisé comme un fichier normal; c'est-à-dire que vous pouvez y écrire, y lire et l'ouvrir ou le fermer. Pour créer un tube nommé, la commande est :

mkfifo <pipe-name>

Cela crée un fichier de canal nommé qui peut être utilisé même sur plusieurs sessions shell.

Une autre façon de créer un canal nommé FIFO consiste à utiliser cette commande :

mknod p <pipe-name>

Pour rediriger une sortie standard de n'importe quelle commande vers un autre processus, utilisez le > symbole. Pour rediriger une entrée standard de n'importe quelle commande, utilisez le < symbole.

Comme indiqué ci-dessus, la sortie de ls -al la commande est redirigée vers contents.txt et inséré dans le fichier. De même, l'entrée pour la tail la commande est fournie sous la forme contents.txt via le < symbole.

Ici, nous avons créé un tube nommé, my-named-pipe , et redirigé la sortie de ls -al commande dans le tube nommé. Nous pouvons alors ouvrir une nouvelle session shell et cat le contenu du tube nommé, qui affiche la sortie de ls -al commande, comme précédemment fourni. Notez que la taille du tube nommé est zéro et qu'il porte la désignation "p".

Ainsi, la prochaine fois que vous travaillerez avec des commandes sur le terminal Linux et que vous vous retrouverez à déplacer des données entre les commandes, espérons qu'un tube rendra le processus rapide et facile.


Linux
  1. Comment utiliser les canaux et les canaux nommés sous Linux (avec exemples)

  2. Introduction à la commande alternatives sous Linux

  3. Pipes et redirection sous Linux - expliqués !

  4. Exemples de commandes mkdir et rmdir sous Linux

  5. Exemples de commandes swapon et swapoff sous Linux

Rechercher la commande sous Linux (Rechercher des fichiers et des répertoires)

Tutoriel de commande Linux mkfifo pour les débutants (avec exemples)

Comment installer et utiliser la commande fd sous Linux

Options de commande et exemples de commande Tee sous Linux

Introduction à la commande History sous Linux [Pour les débutants]

Que sont les tuyaux sous Linux ? Comment fonctionne la redirection de tuyau ?