Redirection d'entrée-sortie dans Ubuntu

Redirection d'entrée-sortie dans Ubuntu
Dans Linux, chaque processus a trois canaux de communication: entrée standard, sortie standard et erreur standard. Ces canaux de communication aident les utilisateurs à interagir avec les processus sur un système Linux. Le canal de communication d'entrée standard (STDIN) prend l'entrée de l'utilisateur via le terminal en tant que commande, puis après avoir traité la commande avec le noyau Linux, le terminal affiche le résultat via la sortie standard (STDOUT) ou la communication Standard Error (Stderr) canaliser. La sortie standard (stdout) ou l'erreur standard (stderr) d'une commande peut être redirigée comme entrée standard (stdin) pour une autre commande en utilisant la redirection d'E / S " comme sortie standard (stdout) pour une autre commande utilisant le «<” I/O redirection.

Entrée standard

L'entrée standard ou STDIN est la commande que nous tapons dans notre terminal pour interagir avec le noyau Linux.

Ubuntu @ ubuntu: ~ $ ls -la

Dans l'exemple ci-dessus, "Ls -La" est l'entrée standard ou le stdin.

Sortie standard

La sortie standard ou STDOUT est la sortie d'un processus ou d'une commande en cours d'exécution donnée au noyau Linux via une entrée standard et s'affiche sur le terminal. Par exemple, donné ci-dessus, la sortie est comme

Ubuntu @ ubuntu: ~ $ ls -la
… Snip…
-rwxr-x --- 1 Ubuntu Ubuntu 89 Jan 4 2021 Arith.shot
-RW-R - r-- 1 Ubuntu Ubuntu 3771 juin 2020 .bashrc
DRWX ------ 28 Ubuntu Ubuntu 4096 1 août 13:10 .cache
drwxr-xr-x 36 Ubuntu Ubuntu 4096 29 juil 18:30 .configurer
DRWX ------ 3 Ubuntu Ubuntu 4096 18 novembre 2020 .dbus
DRWXR-XR-X 5 Ubuntu Ubuntu 4096 JUIL 30 16:28
DRWXR-XR-X 13 Ubuntu Ubuntu 12288 28 juil 19:53 Téléchargements
… Snip…

Chaque sortie a un endroit par défaut prédéfini pour aller dans les systèmes d'exploitation basés sur UNIX. Certaines des méthodes de redirection de la sortie sont données ci-dessous.

  • Redirection de sortie standard ">"
  • Redirection d'entrée standard "<”
  • Redirection d'erreur standard "2>"
  • Redirection de sortie et d'erreur standard «&>»
  • Redirection de sortie standard «>>»
  • Redirection d'entrée standard "<<”
  • Redirection à l'aide de tuyaux «|»

Redirection de sortie standard ">"

La redirection de sortie est une méthode dans laquelle la sortie standard d'une commande peut être redirigée vers des fichiers ou comme entrée standard pour une autre commande. Le signe «>» est utilisé pour la redirection de sortie. Le terminal ne montre pas la sortie; Au lieu de cela, il est écrit dans un fichier ou redirigé en entrée vers une autre commande. Par exemple

Ubuntu @ Ubuntu: ~ $ echo Hello World> Fichier.SMS

OU

Ubuntu @ ubuntu: ~ $ sudo apt-cache pkgnames> packegnames

Au lieu de la sortie indiquée sur le terminal, il sera redirigé vers le fichier.fichier txt ou pakegsNames. Afin de confirmer si la sortie a été redirigée ou non, utilisez le chat Commande pour lire les fichiers.

Ubuntu @ Ubuntu: ~ $ Fichier Cat.SMS
Ubuntu @ Ubuntu: ~ $ Cat Pakegname

Cet opérateur «1>» est également utilisé pour rediriger la sortie standard.

Redirection d'entrée standard " < ”

La redirection d'entrée est une méthode dans laquelle l'entrée standard d'une commande est redirigée à partir d'un fichier ou d'une sortie standard d'une autre commande. Le "<” sign is used for input redirection. It is mostly the default action of a command. For example

Ubuntu @ ubuntu: ~ $ moins < /etc/passwd

Est le même que celui-ci.

Ubuntu @ ubuntu: ~ $ moins / etc / passwd

Il prend les commentaires du fichier / etc / passwd au lieu d'un clavier. Le «0<” sign can also be used for redirecting standard input.

Redirection d'erreur standard "2>"

Avec la méthode de redirection, les erreurs standard peuvent être redirigées et écrites vers un fichier. Par exemple

Ubuntu @ Ubuntu: ~ $ sudo apt-get update 2> Erreur

Si une erreur se produit, elle ne s'affiche pas sur la fenêtre du terminal; il sera plutôt stocké dans un fichier d'erreur. Si le fichier d'erreur existe déjà, il sera écrasé.

Sortie standard et redirection d'erreur standard «&>»

Avec le signe "&>", il existe un moyen plus efficace de rediriger la sortie standard et l'erreur standard simultanément avec le signe "&>". Par exemple

Ubuntu @ ubuntu: ~ $ sudo apt-cache pkgnames &> pkgnames

Tous les noms et erreurs de packages seront stockés dans le fichier pkgnames.

Redirection de sortie standard «>>»

Cette méthode de redirection redirige la sortie standard d'une commande ou d'un fichier vers un autre fichier. La différence est en utilisant la redirection «>>», si le fichier existe déjà, les données seront annexées au fichier; par conséquent le fichier ne sera pas écrasé.

Ubuntu @ ubuntu: ~ $ sudo apt-cache pkgnames >> pkgnames

Si le fichier pkgnames existe déjà, son contenu ne sera pas écrasé; la sortie sera plutôt ajoutée à la fin du fichier.

Redirection d'entrée standard " << ”

Cette méthode de redirection lit l'entrée de l'utilisateur du terminal, puis l'ajoute au fichier.

Ubuntu @ Ubuntu: ~ $ Cat Pkgnames << pkgnames
> Ubuntu
> chrome
> pkgnames

Si le fichier pkgnames existe déjà, son contenu ne sera pas écrasé.

Redirection à l'aide de tuyaux «| "

Les tuyaux sont souvent utilisés lorsque vous souhaitez combiner plusieurs commandes. Avec les tuyaux, la sortie de la première commande peut être utilisée comme entrée de la deuxième commande. Par exemple

Ubuntu @ ubuntu: ~ $ sudo apt-cache pkgnames | moins

Dans la commande ci-dessus, la sortie standard de la commande laissée au tuyau «|» Le signe est l'entrée standard de la commande directement au tuyau «|» signe.

Combiner les opérateurs de redirection

Vous pouvez combiner certains des opérateurs de redirection car ils sont commodément faciles à utiliser et prendre moins de temps; Certains des opérateurs de redirection combinés sont donnés ci-dessous.

2 >>: Cet opérateur est utilisé pour rediriger les erreurs standard vers le fichier.
: Cet opérateur est utilisé pour les fichiers spécifiés comme entrée standard et sortie standard.
> &: Cet opérateur redirige la sortie d'un fichier vers un autre.
<&: Cet opérateur redirige l'entrée d'un fichier vers un autre.
2> & 1: Cet opérateur est utilisé pour rediriger l'erreur standard vers la sortie standard.
1> & 2: Cet opérateur est utilisé pour rediriger la sortie standard vers l'erreur standard.

Conclusion

En tant qu'administrateur Linux, la redirection d'entrée-sortie est une routine très courante dans le travail quotidien. Le stockage de la sortie et des erreurs pour une utilisation ultérieure et la combinaison des commandes multiples facilitent votre travail et réduisent le temps afin que vous puissiez travailler avec diligence. Ci-dessus sont quelques conseils à faire qui vous aideront à comprendre les redirections d'entrée-sortie.