Formation Scripts Shell
Les scripts shell sont des programmes écrits dans un langage de script shell, qui sont utilisés pour automatiser des tâches répétitives ou pour effectuer des opérations système. Un script shell est essentiellement une série d'instructions qui sont exécutées en séquence, généralement dans un environnement de terminal ou de ligne de commande. Le langage de script shell le plus couramment utilisé est le shell Unix, qui est utilisé sur la plupart des systèmes d'exploitation de type Unix (y compris Linux, macOS, BSD, etc.). Les scripts shell peuvent être utilisés pour une variété de tâches, telles que la manipulation de fichiers, l'automatisation de tâches système, la gestion de processus et la configuration de l'environnement de travail. Les scripts shell sont souvent utilisés pour automatiser des tâches répétitives ou pour effectuer des tâches de maintenance sur un système informatique. Ils peuvent également être utilisés pour la gestion de serveurs, la création de rapports, la génération de sauvegardes, la configuration de systèmes complexes et la gestion de bases de données. Les scripts shell peuvent être exécutés manuellement ou programmés pour être exécutés à des intervalles réguliers ou selon un calendrier.
Objectifs pédagogiques
- Créer et exécuter des scripts Shell
- Connaitre les principales commandes utilisées dans des scripts
- Programmer avec des variables, des structures conditionnels et des fonctions
Pré-requis
- Connaître quelques commandes de base sous Linux
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Présentation des shells
- Qu'est ce que le Shell ?
- Pourquoi le Shell Script ?
- Comment lancer une commande
- Exemple de commandes
- Le shell utile à tous les niveaux
Premières commandes
- ls : premiers pas
- ls : gestion des droits
- ls -la : affichage autres champs
- cd
- Changement de groupe et d'utilisateur
Les différents Shell
- Shell
- Les différents Shell
- Types et syntaxes
- Installation d'un autre shell
L'aide locale
- Aide : via man
- Les 9 rubriques des pages man
- Pages man en français et en couleur(deb)
- Aide à l'intérieur d'une page de manuel
À savoir
- Commandes internes au shell
- Aide pour les commande internes au shell
- Arguments des commandes
Freenode
- L'aide par IRC
- Logiciels IRC
- Exemple de canal
- Liste des canaux
- IRC : Présentation du réseau Freenode
Usage IRC
- Freenode : Nickserv
- Quelques règles de bon sens
- Pastebin
- Imagebin
- Les canaux d'aide aux Shells
Accéder au contenu des fichiers
- Manipulation de fichiers : (cp|rm|ln|mv)
- Affichage du contenu des fichiers texte (cat|more)
- cat
- chmod
- Taille des fichiers
- Modifier le propriétaire d'un fichier
Jour 2
Commandes de compression, d'impression et de gestion du temps
- Compression/décompression de fichiers
- Compression/ décompression de répertoires
- Commandes d'impression
- Gestion des répertoires : mkdir
- pr
- Gestion du temps
Pipe commandes composites et processus
- Enchaînement de commandes
- Redirection
- Affichage des utilisateurs
- Gestion des processus
- Commandes administrateurs système
Commandes diverses
- Type de fichier
- Quelques informations système
- La commande dmesg
- Présentation
- Connexion par clé ssh
- Copie et transfert de fichiers sécurisés via SSH
Variables
- Les variables utiliées par les programmes
- Quelques variables multi Shell
- Quelques variables Bash
- Fichiers d'environnement des Shells
Variables utilisateur
- Les variables utilisateur
- Attention aux caractères blancs
- Utilisation des variables
- Portée des variables
- Remarques sur l'exportation
Prompt
- Les variables PS
- Autres variables des champs PS
- Les commandes ESCAPE
- Sélection des polices
- Colorisation de l'invite
Substitutions
- Substitution noms de fichiers
- Substitutions : compléments bash
- Substitutions complexes en bash
- Protection des caractères spéciaux
Jour 3
Commande set
- help
- set
- set -o
- set -o (suite)
- shopt
- Options shopt
Commandes cd, pushd, popd, umask, type, enable
- cd
- pushd
- umask
- type
- enable
- sortie de shell
Historique et Alias
- Historique des commandes (bash)
- Paramétrage Historique
- Commandes d'historique
- echo
- alias
Commande sur les processus : kill, jobs, wait, ulimit
- kill
- Premiers signaux
- Derniers signaux
- jobs
- wait
- ulimit
Commandes cut, tr, uniq, sort, wc, find, grep
- cut
- tr
- uniq
- sort
- wc
- find
- grep
Commandes de transformation : iconv, od, nl, basename, diff
- iconv
- od
- nl
- basename
- diff
- head
- tail
Commande utilitaires : xargs, tee, cmp, comm, paste, sed
- xargs
- tee
- cmp
- comm
- paste
- sed : édition d'un fichier
- sed (suite)
Jour 4
Expressions régulières
- Présentation
- Caractères
- Exemples
- Captures
Programmation
- Bases de la programmation
- Quelques remarques
- Éditeurs spécialisés
- Substitution de commandes
Sous Shell et arguments
- Synthèse des caractères spéciaux
- Exécution d'un sous shell
- Les variables arguments d'un Shell Script
- Les variables codes retour et processus
- read
Test
- test
- test fichiers
- test droits et dates
- chaines
- test nombres
Opérateurs logiques
- Les opérateurs logiques
- Composition d'expression
- Les blocs de commandes
if et for
- set -x
- set -v
- if
- for
Boucles
- while
- until
- break et continue
- case
Fonctions
- Fonctions : quelques remarques
- Commande printf
printf
- printf : modificateurs ordinaires
- format simple
- printf : largeur de champ et précision
- printf : largeur de champ et précision (suite)
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation
Accessibilité aux personnes handicapées
Nous nous engageons à rendre notre formation Scripts Shell accessible aux personnes en situation de handicap. Merci de nous contacter afin que nous puissions réaliser les adaptations nécessaires en amont de la formation.Avis
Cédric P.
Jean-Marc R.
La formation
j'ai mis en partie car je n'avais pas de besoin spécifiques dans le cadre de mes fonctions de chef de projet
Sinon formation très intéressantes, avec rythme théorie /pratique adaptée (prendre le temps du passage en revue des options des commandes est primordiale = très bien)
Les exercices et leur contextes pourraient être mieux formulés s.v.p.
Le formateur
Merci Gilles ! Bonne Continuation
Les +
supports de cours (sauf contextualisation /formulation de certains exercices... ) sont très bien
Commentaire général
Pas à ma connaissance pour l'heure
Régine T.
La formation
Mon manque de pratique a généré du retard sur la dernière journée pour la création de script et quelques incompréhensions de l'exercice à faire. Suivre ce genre de formation en ligne n'est pas facile. Il faut surtout participer pour ne pas être à la traine.
Le formateur
J'aurai du m'entrainer un peu avant de suivre la formation afin de ne pas perdre de temps sur les commandes et ainsi avoir plus de temps pour pratiquer et tester.
Commentaire général
demande à faire auprès de la hiérarchie et la RH pour DOCKER que nous ne connaissons pas.
Nous avons une nouvelle application qui utilise ce système.
Emmanuel B.
Vincent G.
Les +
Le cours était complet, très pratique.
Gilles B.
Jean-Etienne S.
La formation
- Niveau et attente très divers au niveau des stagiaires et des groupes
- on a pas été consulté sur nos attentes avant la constitution des groupes; Mais ce n'est pas de votre faute.
- j'aurais aimé qu'on passe seulement 30 minutes maxi sur l'iRC, et 1heure maxi sur le shell, recherche d'aide, les principales commandes en lignes. et passer plus de temps les scripts eux mêmes genre
- comment executer un script depuis un serveur A sur serveur B ( plusieurs serveurs ),
- comment parcourir plusieurs fichiers log de plusieurs serveurs et remonter le résultat vers l'utilisateur...
Le formateur
Bonjour, sans vouloir vexer personne, :
- au niveau des exercices, il faudrait imposer aux stagiaires un temps pour faire les exercices.
-
Les +
Formateur maîtrise son sujet.
Commentaire général
c'est une bonne révision, j'ai découvert AWK, entre deux exercices.
Manesh Z.
Mouttou M.
Benjamin S.
Pierre-Louis C.
Sylvain C.
Maurice R.
Kévin T.
La formation
J'ai maintenant les bases, je peux aller plus loin maintenant dans le ShellScript.
Ca fait toujours du bien de revoir les commandes essentielles.
Merci Gilles
Le formateur
Formateur expérimenté et pédagogue. Merci
Jean-Yves K.
La formation
couverture technique intéressante, mais progression trop lente, même en tenant compte du niveau hétérogène du groupe.
Le formateur
Cours parcouru très rapidement, trop de temps morts en exercice.
Explications du formateur claires.
Les +
les supports de cours, l'aide apportée par le formateur à ceux qui le demandent
Bertrand C.
La formation
Cours trop dense en 4 jours pour un non pratiquant.
Les +
support de cours bien fourni et pratique à réutiliser
Commentaire général
formation dense
Yohan D.
Yann B.
Le formateur
J'ai trouver la prestation monotone