Étiquette : >

19 décembre 2015 /

Redirection simple

Le Pipe  » | « :

Le symbole pipe  » |  »  permet de passer le résultat d’une commande a la suivante.

Exemple:

commande1 | commande2

 

Plus grand que  » > « :

Le symbole >  redirige le résultat de la commande vers un fichier.
Si le fichier existe déjà, son contenu sera effacé.

Exemple:

commande > fichier

 

Deux fois plus grand que  » >> « :
Redirige le résultat de la commande vers un fichier.

Si le fichier existe déjà, le résultat de la commande est ajouté à la suite du fichier.

Exemple:

commande >> fichier

 

Plus petit que  » < « :

La commande prend en argument le contenu du fichier

Exemple:

commande < fichier

 

Redirection avancées

Pour l’entrée standard, la sortie standard et la sortie d’erreur le numéro identifiant sera respectivement 0, 1 et 2.
Ces identifiants vont nous permettre de faire des redirections plus évolués.

Si l’identifiant source n’est pas précisé, c’est la valeur 1 qui sera prise par défaut (1>&2 peut s’écrire alors >&2).


Rediriger la sortie standard dans un fichier:

1> fichier.txt

qui s’écrit aussi comme ça (1  par défaut):

> fichier.txt


Rediriger la sortie d’erreur dans un fichier:

2> fichier.txt


Rediriger la sortie standard sur la sortie d’erreur:

1>&2

qui s’écrit aussi comme ça (1  par défaut):

>&2

1 étant l’identifiant descripteur source et 2 l’identifiant du descripteur sur lequel on veut rediriger.


Rediriger la sortie d’erreur sur la sortie standard:

2>&1

2 étant l’identifiant descripteur source et 1 l’identifiant du descripteur sur lequel on veut rediriger.


Rediriger la sortie standard et la sortie d’erreur dans un fichier:

> fichier.txt 2>&1

qui s’écrit aussi comme ça:

1>>fichier.txt 2>>fichier.txt

ou comme ça (1  par défaut):

>>fichier.txt 2>>fichier.txt

Le trou noir

Le fichier /dev/null est un peu particulier.
Si on affiche son contenu on n’obtient rien, et si on écrit quelque chose dedans ça disparaît.
Cela est très pratique pour supprimer une sortie.

Pour rediriger la sortie standard vers /dev/null :

> /dev/null

Pour rediriger toutes les sorties vers /dev/null :

> /dev/null 2>&1