Linux & Bash
Mémo
Script Bash : chemin logiqueConditionsFonctions : paramètres et valeur produiteVim : commandes par modejq : lire et filtrer
Cours
1. Introduction à Linux
1.1 Un peu d’histoire de Linux1.2 Architecture du système1.3 Premières commandes1.3.1 Comprendre le prompt1.3.2 Savoir où l’on est : pwd et ls1.3.3 Chemin absolu et chemin relatif1.3.4 Se déplacer avec cd1.4 Variables d’environnement1.4.1 Créer et lire une variable d’environnement1.4.2 Variables importantes1.4.3 Supprimer une variable1.5 Synthèse
2. Manipulation de fichier et dossier
2.1 Création et manipulation de fichiers et dossiers2.1.1 Créer un fichier avec touch2.1.2 Créer un dossier avec mkdir2.1.3 Supprimer avec rm2.1.4 Copier avec cp2.1.5 Déplacer ou renommer avec mv2.2 Écriture et lecture de fichiers2.3 Éditeurs de texte2.3.1 Nano2.3.2 Vim et ses modes2.4 Le fichier .bashrc2.5 Synthèse
3. Les flux de redirection
3.1 Les trois flux standards3.2 Rediriger les sorties3.2.1 Sortie standard : 1> et >3.2.2 Erreur standard : 2> et 2>>3.2.3 Séparer stdout et stderr3.2.4 Regrouper stdout et stderr3.3 Rediriger l’entrée standard3.3.1 Exemple avec un programme interactif3.4 Le pipe |3.5 Enchaîner avec &&3.6 Synthèse
4. Utilisateurs et droits
4.1 Propriété : utilisateur, groupe et autres4.1.1 Utilisateur propriétaire4.1.2 Groupe4.1.3 Autres utilisateurs4.2 Super-utilisateur et sudo4.3 Les trois permissions : r, w et x4.4 Lire les droits avec ls -l4.4.1 Découper -rw-rw-r--4.5 Modifier les permissions avec chmod4.5.1 Notation numérique4.5.2 Notation symbolique4.6 Synthèse
5. Script Shell
5.1 Du terminal au script Bash5.1.1 Qu’est-ce qu’un script Bash ?5.1.2 Le shebang : quel interpréteur doit lire le fichier ?5.1.3 Créer un premier script5.1.4 Deux façons d’exécuter le script5.2 Mémoriser et réutiliser des valeurs5.2.1 Commenter le code5.2.2 Créer une variable5.2.3 Les guillemets : protéger ou interpréter du texte5.2.4 Récupérer le résultat d’une commande5.2.5 Faire des calculs5.3 Stocker plusieurs valeurs : les tableaux5.3.1 Créer et lire un tableau5.3.2 Modifier et ajouter des éléments5.3.3 Connaître les indices et le nombre d’éléments5.4 Faire prendre des décisions au script5.4.1 La structure if / then / fi5.4.2 Ajouter else et elif5.4.3 Comparer du texte et des nombres5.4.4 Combiner plusieurs conditions5.4.5 [ ], [[ ]] et (( )) : quelle forme utiliser ?5.5 Répéter des actions avec des boucles5.5.1 while : répéter tant qu’une condition est vraie5.5.2 for : parcourir une série de valeurs5.5.3 seq : générer une suite d’entiers5.6 Regrouper du code avec des fonctions5.6.1 Définir une fonction5.6.2 Passer des arguments à une fonction5.6.3 Produire une valeur et la réutiliser5.6.4 Le point-virgule5.7 Le chemin logique d’un script Bash
6. Processus
6.1 Du programme au processus6.1.1 Qu’est-ce qu’un processus ?6.1.2 Foreground et background6.2 Premier plan et arrière-plan6.2.1 Fonctionnement au premier plan6.2.2 Fonctionnement en arrière-plan avec &6.3 Suspendre, reprendre et déplacer un processus6.3.1 Suspendre avec Ctrl+Z6.3.2 Reprendre au premier plan avec fg6.3.3 Reprendre à l’arrière-plan avec bg6.4 Observer les processus en cours6.4.1 htop : vue interactive6.4.2 ps : obtenir un état des processus6.5 Identifier précisément un processus avec son PID6.5.1 Le PID : Process ID6.5.2 Retrouver un PID avec pgrep6.6 Mettre fin à un processus avec kill6.6.1 Arrêter un processus identifié6.7 Synthèse : repères de gestion des processus
7. Crontab
7.1 Comprendre Cron et Crontab7.1.1 Cron : exécuter des tâches automatiquement7.1.2 Crontab : décrire la planification7.2 Lire la syntaxe d’un Cron Job7.2.1 Les cinq champs de temps7.2.2 Les opérateurs *, -, , et /7.3 Construire une planification7.3.1 Tous les jours à 5 h 157.3.2 Le 2 de chaque mois à 5 h 157.3.3 Toutes les cinq heures7.3.4 Lundi et mercredi en janvier et février7.4 Ce qu’une tâche cron doit pouvoir exécuter7.4.1 L’importance des chemins absolus7.4.2 Script exécutable et interpréteur7.5 Administrer une crontab7.6 Synthèse : logique d’une tâche planifiée
8. JQ
8.1 Comprendre ce que jq manipule8.1.1 jq travaille sur des données JSON8.1.2 Tableau et objet JSON8.2 Comprendre les filtres jq8.2.1 Le point . : identité8.2.2 Parcourir un tableau avec []8.2.3 Sélectionner une tranche8.2.4 Appliquer plusieurs filtres avec la virgule8.2.5 Enchaîner les traitements avec le pipe8.2.6 Filtrer avec select()8.3 Construire de nouveaux résultats8.3.1 Construire un tableau8.3.2 Construire un objet8.3.3 Construire un document plus complexe8.4 Utiliser les opérateurs8.4.1 Addition : +8.4.2 Soustraction : -8.4.3 Multiplication : *8.4.4 Division : /8.5 Regrouper et compter avec group_by et length8.5.1 Regrouper les objets8.5.2 Compter les éléments de chaque groupe8.6 Le chemin logique avec jq