« Le système d'exploitation GNU-Linux/Redirection des entrées/sorties » : différence entre les versions

Contenu supprimé Contenu ajouté
Mise en forme + précisions
Ligne 1 :
== Les entrées/sorties des processus ==
REDIRECTION
Chaque processus possède 3 flux standard qu'il utilise pour communiquer en général avec l'utilisateur :
* l'entrée standard nommée <tt>stdin</tt> (identifiant 0) : il s'agit par défaut du clavier,
* la sortie standard nommée <tt>stdout</tt> (identifiant 1) : il s'agit par défaut de l'écran,
* la sortie d'erreur standard nommée <tt>stderr</tt> (identifiant 2) : il s'agit par défaut de l'écran.
 
Ces flux peuvent être redirigés afin que le processus interagisse avec un autre au lieu d'interagir avec l'utilisateur.
En sortie :
Quand on execute une commande, le shell affiche le résultat sur la console de sortie (l'écran par défaut). On peut rediriger cette sortie vers un fichier en utilisant le signe '''>'''
 
== Redirection ==
exemple : $ ls>resultat_ls
si le fichier exit deja il est ecrasé.
 
=== Rediriger la sortie standard ===
'''Concaténation:'''
Quand on executeexécute une commande, le shell affiche le résultat sur la console de sortie (l'écran par défaut). On peut rediriger cette sortie vers un fichier en utilisant le signe '''>&gt;'''.
 
'''Exemple'''
si le fichier résultat exit déja il les affichages sont concatenné.
exemple : ~$ ls>&gt;resultat_ls
siSi le fichier exitexiste dejadéjà, il est ecraséécrasé.
 
'''==== Concaténation:''' ====
exemple: ~$ ls >>resultat
Au lieu de créer un fichier, il est possible d'ajouter les sorties d'un processus à un fichier existant en utilisant le double signe '''&gt;&gt;'''.
 
'''Exemple'''
exemple: ~$ ls >>&gt;&gt;resultat
siSi le fichier résultat exitexiste déja ildéjà, les affichages sont concatennéconcaténés.
 
==== Syntaxe complète ====
En fait, les signes '''&gt;''' peuvent être précédés de l'identifiant du flux à rediriger.
Pour la sortie standard, on peut donc utiliser les syntaxes suivantes :
~$ ls 1&gt;resultat_ls
~$ ls 1&gt;&gt;resultat
 
=== Rediriger la sortie d'erreur standard ===
La redirection du flux de sortie d'erreur standard utilise les même signes, mais précédés de l'identifiant du flux : 2.
 
'''le pipe (un tube)Exemples'''
~$ ls 2&gt;erreurs_ls
~$ ls 2&gt;&gt;erreurs_ls
 
=== Rediriger l'entrée standard ===
redirige la sortie d'une commande vers l'entrée d'une autre commande.
Rediriger l'entrée standard permet d'entrer des données provenant un fichier au lieu du clavier.
 
'''Exemples'''
exemple: ~$ du | sort -rn
~$ cat &lt;mon_fichier.txt
~$ du | sort -rn | more 'tri page par page'.
 
=== Le pipe (un tube) ===
''' Les liens '''
 
Redirige la sortie d'une commande vers l'entrée d'une autre commande. Il s'agit donc d'une chaîne de redirection entre deux processus qui ne passe pas par un fichier, mais par une zone mémoire du système.
accourci vers un fichier ou un repertoire.( ln-s destination non du lien )
 
'''Exemples'''
exemple: ~$ ln -s prog1.0 monprogramme
exemple: ~$ du | sort -rn
~$ du | sort -rn | more 'tri page par page'.
 
<!-- hors sujet, à déplacer
lrwxrwxrwx 1 titophe66 titophe66 7 2007-10-26 14:25 monprogramme -> prog1.0'.
'''=== Les liens '''===
 
Raccourci vers un fichier ou un répertoire.
ln -s ''destination'' ''nom_du_lien''
 
'''Exemple'''
exemple: ~$ ln -s prog1.0 monprogramme
Cette commande crée le lien suivant :
lrwxrwxrwx 1 titophe66 titophe66 7 2007-10-26 14:25 monprogramme -> prog1.0'.
-->