49 views
# Formation BASH (SHELL) 🐚 : Un voyage dans le monde des scripts Bienvenue dans cette formation Bash ! Ensemble, nous allons explorer les bases, les astuces avancĂ©es, et les bonnes pratiques pour automatiser vos tĂąches et devenir maĂźtre de la ligne de commande. ✹ --- ## **Introduction Ă  BASH** 📜 Bash est l'interprĂ©teur de commandes par dĂ©faut sur la plupart des systĂšmes Linux. Il vous permet de manipuler votre systĂšme, d'exĂ©cuter des scripts et de rĂ©soudre des problĂšmes en un Ă©clair. - **Documentation officielle Bash** : [Shell Command Language](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html) - **Outils pour amĂ©liorer vos scripts** : - **`shellcheck`** : DĂ©tectez et corrigez les erreurs dans vos scripts. ```bash sudo apt install shellcheck shellcheck monscript.sh ``` - **`shellspec`** : Écrivez des tests unitaires pour vos scripts Bash. - **`tldr`** : Des rĂ©sumĂ©s pratiques pour les commandes Bash courantes. ```bash sudo apt install tldr tldr lsof ``` --- ## **Configuration du SHELL et importance du PATH** đŸ› ïž ### **Qu'est-ce que le PATH ?** Le `PATH` est une variable environnementale contenant les dossiers oĂč votre systĂšme cherche les programmes exĂ©cutables. Si un programme n'est pas dans le `PATH`, il ne pourra pas ĂȘtre exĂ©cutĂ© directement. - Afficher votre `PATH` : ```bash echo $PATH ``` - Ajouter un dossier au `PATH` dans votre `~/.bashrc` : ```bash export PATH=$PATH:$HOME/scripts source ~/.bashrc ``` --- ## **Environnements Python 🐍** Les scripts Bash collaborent souvent avec des environnements Python. CrĂ©er un environnement virtuel est une bonne pratique pour isoler vos projets. ### **CrĂ©er et utiliser un environnement virtuel** : 1. Installez Python si ce n’est pas fait. 2. CrĂ©ez un environnement virtuel : ```bash python -m venv env ``` 3. Activez-le : ```bash source env/bin/activate ``` 4. Installez vos modules nĂ©cessaires : ```bash pip install numpy requests ``` --- ## **Astuces pratiques** 🌟 ### **Navigation dans le Shell** - **Utilisez `TAB` pour auto-complĂ©ter** les commandes, les noms de fichiers et les dossiers. - Retour rapide Ă  votre rĂ©pertoire personnel : ```bash cd ``` ### **CrĂ©ation et gestion de fichiers/dossiers** - CrĂ©ez un dossier et ses sous-dossiers : ```bash mkdir -p Foret/Hutte/Coffre ``` - Supprimez des fichiers spĂ©cifiques : ```bash rm Chateau/Cave/araignee_* ``` - DĂ©placez des fichiers dans un autre dossier : ```bash mv Jardin/piece_* Foret/Hutte/Coffre/ ``` ### **RĂ©digez et lisez dans des fichiers** - Écrivez dans un fichier : ```bash echo "Mon message" > Foret/Hutte/journal.txt ``` - Lisez son contenu : ```bash cat Foret/Hutte/journal.txt ``` --- ## **Gestion des processus** 🔍 ### **Lister les processus en cours** : ```bash ps aux ``` ### **Tuer un processus spĂ©cifique** : Trouvez un processus liĂ© Ă  un port : ```bash lsof -i :1234 ``` Tuez-le : ```bash kill -9 <PID> ``` Automatisation pour les processus contenant "sortil" : ```bash for pid in $(ps aux | grep sortil | awk '{print $2}'); do kill -9 $pid; done ``` --- ## **Manipulations avancĂ©es** 🔧 ### **Boucles et calculs** - Boucle de lecture ligne par ligne : ```bash while read line; do echo "$line" done < /etc/os-release ``` - Calculs en Bash (entiers uniquement) : ```bash echo $((987 + 123 * 5)) ``` - Calculs dĂ©cimaux avec `bc` : ```bash echo "63.1 + 0.01" | bc ``` --- ## **Exemples amusants : GameShell 🎼** TĂ©lĂ©chargez et explorez le **GameShell** pour une initiation ludique Ă  Bash : ```bash wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh bash gameshell.sh ``` AmĂ©liorez vos compĂ©tences en rĂ©solvant des missions, comme organiser des fichiers ou exĂ©cuter des commandes secrĂštes ! --- ## **Bonus : Ressources pour aller plus loin** 📘 - **The Art of Command Line** : [Guide avancĂ©](https://github.com/papiche/the-art-of-command-line) - **Astroport.ONE** : DĂ©couvrez des scripts innovants et contribuez Ă  des projets passionnants : [Astroport.ONE](https://github.com/papiche/Astroport.ONE) - **Root-Me Club** : [Apprenez la sĂ©curitĂ© informatique](https://www.root-me.org/). --- **Rappelez-vous** : La pratique rĂ©guliĂšre est la clĂ© pour maĂźtriser Bash. Continuez Ă  expĂ©rimenter et Ă  automatiser vos tĂąches quotidiennes. đŸ§™â€â™‚ïž PrĂȘt pour le **LEVEL 2** ? À vos claviers ! 🚀