{"id":46,"date":"2008-04-12T16:45:29","date_gmt":"2008-04-12T15:45:29","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=46"},"modified":"2008-04-12T16:46:13","modified_gmt":"2008-04-12T15:46:13","slug":"shell-redirections-de-flux","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2008\/04\/shell-redirections-de-flux\/","title":{"rendered":"Shell &#8211; Redirections de flux"},"content":{"rendered":"<p>Sous ce nom bizarre se cache en fait une op\u00e9ration que vous connaissez s\u00fbrement. Les redirections de flux permettent par exemple de rediriger dans un fichier ce qui normalement est affich\u00e9 \u00e0 l&rsquo;\u00e9cran. Cela permet aussi de rediriger la sortie d&rsquo;un programme vers l&rsquo;entr\u00e9e d&rsquo;un autre.<\/p>\n<p>Exemples de redirections:<\/p>\n<pre class=\"codesource\">$ ls -al &gt; mon_fichier\r\n$ ps -ef | grep  firefox<\/pre>\n<p>Chaque programme, chaque process re\u00e7oit trois descripteurs de flux:<\/p>\n<ul>\n<li>stdin &#8211; entr\u00e9e standard. Permet de transmettre des donn\u00e9es au programme. Par d\u00e9faut, il s&rsquo;agit du clavier.<\/li>\n<li>stdout &#8211; sortie standard. Permet au programme d&rsquo;afficher des donn\u00e9es. Par d\u00e9faut, c&rsquo;est l&rsquo;\u00e9cran.<\/li>\n<li>stderr &#8211; sortie standard d&rsquo;erreur. C&rsquo;est sur cette sortie-l\u00e0 que devraient \u00eatre affich\u00e9es les erreurs que rencontre un programme. Par d\u00e9faut, comme pour stdout, il s&rsquo;agit de l&rsquo;\u00e9cran.<\/li>\n<\/ul>\n<p>Ces trois flux peuvent \u00eatre redirig\u00e9s en utilisant:<\/p>\n<ul>\n<li>&lt; redirige le flux d&rsquo;entr\u00e9e. L&rsquo;entr\u00e9e d&rsquo;un programme peut devenir un fichier par exemple dans lequel se trouvent les commandes dont le programme a besoin.<\/li>\n<li>&gt; redirige un des deux flux de sortie. Pour diff\u00e9rencier le flux de sortie du flux d&rsquo;erreur, on utilise un num\u00e9ro. 1&gt; repr\u00e9sente le flux de sortie et 2&gt; repr\u00e9sente le flux d&rsquo;erreur. Par d\u00e9faut &gt; est le flux de sortie.<\/li>\n<li>| (pipe en anglais, tube en fran\u00e7ais) redirige la sortie standard du programme \u00e0 gauche du pipe vers l&rsquo;entr\u00e9e standard du programme \u00e0 droite du pipe.<\/li>\n<li>&gt;&gt; est utilis\u00e9 lorsqu&rsquo;on redirige la sortie standard d&rsquo;un programme vers un fichier. La sortie du programme va s&rsquo;ajouter au fichier (appending) au lieu d&rsquo;effacer son contenu \u00e9ventuel.<\/li>\n<li>2&gt;&amp;1 redirige la sortie d&rsquo;erreur vers la sortie standard. Ceci peut servir lorsque, par exemple, un programme \u00e0 sa sortie d&rsquo;erreur envoy\u00e9e vers un fichier de log et que l&rsquo;on aimerait plut\u00f4t que les erreurs s&rsquo;affichent \u00e0 l&rsquo;\u00e9cran.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Sous ce nom bizarre se cache en fait une op\u00e9ration que vous connaissez s\u00fbrement. Les redirections de flux permettent par exemple de rediriger dans un fichier ce qui normalement est affich\u00e9 \u00e0 l&rsquo;\u00e9cran. Cela permet aussi de rediriger la sortie d&rsquo;un programme vers l&rsquo;entr\u00e9e d&rsquo;un autre. Exemples de redirections: $ ls -al &gt; mon_fichier $ [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/46"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":0,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/46\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}