Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pipe [Le 09/05/2009, 19:37] neeteexpipe [Le 28/05/2020, 17:44] (Version actuelle) – beaver 185.220.103.4
Ligne 1: Ligne 1:
-====== Pipe ======+{{tag>console shell BROUILLON}} 
 +---- 
 + 
 +====== Pipe : chaîner les commandes ======
  
 Un "pipe" ou "tuyau" permet de passer le résultat d'une commande shell à une autre commande shell. Un "pipe" ou "tuyau" permet de passer le résultat d'une commande shell à une autre commande shell.
 +
 +**Concaténation** : **Alt Gr** + **6**((Le **6** dans la partie alphabétique du clavier. **ALT GR** sur le clavier Mac.)).
  
 ===== Pourquoi faire ? ===== ===== Pourquoi faire ? =====
  
 +==== Parce qu'on peut pas faire autrement ====
 +===C'est le cas notamment lorsqu'on veut trier les données envoyées par une commande :===
  
 +<code bash>du | sort -nr | less</code>
  
-==== Parce qu'on peut pas faire autrement ==== +==== Pour aller plus vite : étude de cas avec tar, bzip2, split et mysqldump ==== 
-C'est le cas notamment lorsqu'on veut trier les données envoyées par une commande :+ 
 +=== Commandes utilisées ===
  
-        du | sort -nr | less+<code bash > mysqldump --host=localhost --user=root --password=MonMotDePasse MaBaseDeDonnee > fichier_intermediaire.sql</code>
  
 +<code bash> tar --create --file fichier_intermediaire.tar dossier_source/</code>
  
-==== Pour aller plus vite ==== +<code bash> bzip2 fichier_intermediaire</code>
-(enfin quand on sait faire ^_^)+
  
-Par exemple :+<code bash> split --numeric-suffixes --bytes=3k fichier_intermediaire.tar.bz2 prefixe_du_fichier_destination.tar.bz2</code>
  
-       tar --create --file foo.tar foo +=== tar + bzip ===
-       bzip2 foo.tar+
  
-peut être fait en une fois : +<code bash> tar  --create --file dossier_source/ | bzip2 > fichier_destination.tar.bz2</code>
-       tar  --create --file  - foo | bzip2 > foo.tar.bz2+
  
 +<note tip>Le tube n'est en fait pas indispensable ici, car la commande tar accepte l'option de compression - -bzip2</note>
 +<code bash> tar --bzip2  --create --file fichier_destination.tar.bz2 dossier_source/</code>
  
-Si en plus on veut ajouter split : +=== tar + bzip + split ===
-       split --numeric-suffixes --bytes=3k foo.tar.bz2 foo.tar.bz2.+
  
-Et bien faut chercher une sollution (celle-ci est fausse FIXME ) qui fasse quelque chose comme : +<code bash> tar --bzip2 --create dossier_source/ | split --bytes=3k --numeric-suffixes  prefixe_du_fichier_destination.tar.bz2</code>
-       tar  --create --file  - foo | bzip2 stdout | split --numeric-suffixes --bytes=3k foo.tar.bz2.+
  
 +=== mysql + bzip ===
  
 +<code bash> mysqldump --host=localhost --user=root --password=MonMotDePasse MaBaseDeDonnee |  bzip2 --stdout --quiet --best > fichier_destination.sql.bz2</code>
  
 +=== mysqldump + bzip + split ===
 +<code bash> mysqldump --host=localhost --user=root --password=MonMotDePasse MaBaseDeDonnee |  bzip2 --stdout --quiet --best | split --bytes=1m --numeric-suffixes  - fichier_destination.sql.bz2</code>
  
 ===== D'autres explications ===== ===== D'autres explications =====
-[[http://www.siteduzero.com/tutoriel-3-62417-les-flux-de-redirection.html#ss_part_4|le chapitre du "Site du Zero"]] 
  
 +[[http://www.openclassrooms.com/tutoriel-3-62417-les-flux-de-redirection.html#ss_part_4|le chapitre du "Site du Zero"]]
  
 +----
  
 +//Contributeur(s)/trice(s) : [[https://doc.ubuntu-fr.org/communaute#communaute_ubuntu-fr|La Communauté Ubuntu-fr]], [[:utilisateurs:BeAvEr|BeAvEr]].//