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édentes Révision précédente
Prochaine révision
Révision précédente
pipe [Le 09/05/2009, 22:52]
neeteex clarification des noms de fichier + tube mysqldump
pipe [Le 28/05/2020, 17:44] (Version actuelle)
185.220.103.4 beaver
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 ==== ==== Parce qu'on peut pas faire autrement ====
-C'est le cas notamment lorsqu'​on veut trier les données envoyées par une commande : +===C'est le cas notamment lorsqu'​on veut trier les données envoyées par une commande :===
- +
-        du | sort -nr | less+
  
 +<code bash>du | sort -nr | less</​code>​
  
 ==== Pour aller plus vite : étude de cas avec tar, bzip2, split et mysqldump ==== ==== Pour aller plus vite : étude de cas avec tar, bzip2, split et mysqldump ====
  
 +=== Commandes utilisées ===
 +
 +<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>​
  
-Par exemple :+<code bash> bzip2 fichier_intermediaire</​code>​
  
-       ​tar ​--create ​--file fichier_intermediaire.tar ​dossier_source +<code bash> split --numeric-suffixes ​--bytes=3k ​fichier_intermediaire.tar.bz2 prefixe_du_fichier_destination.tar.bz2</​code>​
-       bzip2 fichier_intermediaire+
  
-peut être fait en une fois, sans recours à un fichier intermédiaire : +=== tar + bzip ===
-       tar  ​--create --file ​ - dossier_source | bzip2 > fichier_destination.tar.bz2+
  
-Le tube n'est en fait pas indispensable,​ car la commande ​tar accepte l'​option de compression - -bzip2 : +<code bash> ​tar  --create --file ​dossier_source/​ | bzip2 > fichier_destination.tar.bz2</code>
-       tar --bzip2 ​ ​--create --file fichier_destination.tar.bz2 ​dossier_source/+
  
 +<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>​
  
 +=== tar + bzip + split ===
  
-Par contre, si en plus on veut ajouter split : +<code bash> tar --bzip2 --create dossier_source/​ | split --bytes=3k ​--numeric-suffixes  ​prefixe_du_fichier_destination.tar.bz2</​code>​
-       ​split ​--numeric-suffixes ​--bytes=3k ​fichier_intermediaire.tar.bz2 ​prefixe_du_fichier_destination.tar.bz2.+
  
-Et bien il vaut mieux raccourcir l'​ensemble : +=== mysql + bzip ===
-        tar --bzip2 --create dossier_source/​ | split --bytes=3k --numeric-suffixes ​ - prefixe_du_fichier_destination.tar.bz2.+
  
-Et si au départ ce que l'on souhaite compresser est le résultat d'une commande très bavarde comme mysqldump : +<code bash> ​mysqldump --host=localhost --user=root --password=MonMotDePasse MaBaseDeDonnee ​|  bzip2 --stdout --quiet --best ​fichier_destination.sql.bz2</​code>​
-       mysqldump --host=localhost --user=root --password=MonMotDePasse MaBaseDeDonnee > fichier_intermediaire.sql+
  
-L'​ensemble coule de source en 2 tubes 3 mouvements (inutile de s'​embêter avec tar qui ne sert qu'à rassembler les éléments d'un même fichier) : +=== mysqldump + bzip + split === 
-      mysqldump --host=localhost --user=root --password=MonMotDePasse MaBaseDeDonnee |  bzip2 --stdout --quiet --best | split --bytes=1m --numeric-suffixes ​ - prefixe_du_fichier_destination.sql.bz2.+<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]].//​
  • pipe.1241902367.txt.gz
  • Dernière modification: Le 18/04/2011, 14:40
  • (modification externe)