Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
doc:guides:bash [2023/05/22 15:15] – [Les éditeurs vi et vim] jeremie | doc:guides:bash [2023/11/30 19:53] (Version actuelle) – [Les éditeurs vi et vim] jeremie |
---|
La majorité des commandes comprend l'argument ''%%--%%help'' pour afficher un résumé moins verbeux que ''man commande''. Pour rechercher une commande on peut utiliser ''man -k motclé'' (k=keyword), ou ... google, ou https://die.net ... | La majorité des commandes comprend l'argument ''%%--%%help'' pour afficher un résumé moins verbeux que ''man commande''. Pour rechercher une commande on peut utiliser ''man -k motclé'' (k=keyword), ou ... google, ou https://die.net ... |
| |
| Voyez enfin [[https://explainshell.com/explain?cmd=for%20user%20in%20%24%28cut%20-f1%20-d%3A%20/etc/passwd%29%3B%20do%20crontab%20-u%20%24user%20-l%202%3E/dev/null%3B%20done|explain shell]] pour un déchiffrage d'une commande bash composée, bien utile pour apprendre. |
==== Langage bash ==== | ==== Langage bash ==== |
| |
====== Les éditeurs vi et vim ====== | ====== Les éditeurs vi et vim ====== |
| |
Quelques fonctions utiles dans ''vi'' (à saisir après la touche ''<esc>'') | Certains préfèreront utiliser ''nano'' qui est plus intuitif mais vraiment plus limité que "vi". Ce dernier est dur à maintriser mais il est présent partout et il est en fait extrêmement puissant. |
| |
| Voici donc quelques fonctions utiles dans ''vi'' (à saisir après la touche ''<esc>'') |
| |
Générique | Générique |
* ''o'' nouvelle ligne au dessous (''O'' pour une nouvelle ligne au dessus) | * ''o'' nouvelle ligne au dessous (''O'' pour une nouvelle ligne au dessus) |
* ''J'' pour joindre la ligne qui suit à celle sous le curseur | * ''J'' pour joindre la ligne qui suit à celle sous le curseur |
* ''d?'' pour "delete", où ''?'' vaut: | * ''d?'' pour "delete", où ''?'' en précise la portée: |
* ''dd'' pour la ligne | * ''dd'' pour la ligne |
* ''d$'' jusqu'à la fin de ligne | * ''d$'' jusqu'à la fin de ligne |
Couper-coller (''vim'' et pas ''vi'') | Couper-coller (''vim'' et pas ''vi'') |
| |
* ''v'' initie la zone à copier/couper en surbrillance ... | * ''V'' initie la zone à copier/couper en surbrillance ... |
* puis ''d'' pour la couper (delete), ou bien ''y'' pour la copier (yank) | * puis ''d'' pour la couper (delete), ou bien ''y'' pour la copier (yank) |
* enfin ''p'' la colle après le curseur (''P'' pour avant le curseur) | * enfin ''p'' la colle après le curseur (''P'' pour avant le curseur) |
| /etc/ssh/sshd_config | Configuration du serveur SSH | | | /etc/ssh/sshd_config | Configuration du serveur SSH | |
| |
====== Autres outils ====== | ====== Outils annexes en ligne de commande ====== |
| |
Il existe réellement des milliers d'outils, écrits dans toutes sortes de langages ou de scripts (exécutables/binaires, python, PHP...) | Il existe réellement des milliers d'outils, écrits dans toutes sortes de langages ou de scripts (exécutables/binaires, python, PHP...) |
| |
Certains sont très classiques, comme ceux mentionnés ci-avant (les ''cut'', ''sed'', ''grep'' ...). D'autre le sont moins mais reste très utiles. On peut citer | Certains sont très classiques, comme ceux mentionnés ci-avant (les ''cut'', ''sed'', ''grep'' ...). D'autres le sont moins mais reste très utiles. On peut citer |
| |
* ''jq'' pour gérer du JSON | * ''jq'' pour exploiter du JSON (et [[https://github.com/kellyjonbrazil/jc|jc]] pour convertir des sorties de commande unix en json) |
* ''mlr'' (miller) pour du CSV | * ''mlr'' (miller) pour du CSV (ou la suite [[https://csvkit.readthedocs.io/en/latest/|CSVkit]], dont ''in2csv'' pour convertir du Excel) |
* ''datamash'' pour des calculs sur des tables (ex. calculer la médiane des colonnes d'un fichier CSV). | * ''datamash'' pour des calculs sur des tables (ex. calculer la médiane des colonnes d'un fichier CSV). |
| * ''gnuplot'' pour créer des graphiques (non trivial!) |
| * [[https://github.com/cactusdynamics/wesplot/tree/main|wesplot]] permet de tracer en live un résultat d'un pipe linux |
| |
| Pour un usage orienté "data science", vous pouvez aussi consulter [[https://jeroenjanssens.com/dsatcl/chapter-2-getting-started.html|ce site]], plutôt bien fait. |
| |
N'hésitez pas à recourir à Python non plus, qui fonctionne aussi en ligne de commande si besoin. | N'hésitez pas à recourir à Python non plus, qui fonctionne aussi en ligne de commande si besoin. |