Différences
Ci-dessous, les différences entre deux révisions de la page.
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, 19:37] neeteex |
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 ==== | ||
+ | ===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]].// |