Logo Scripts Shell

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.

le 14 avril 2023

Jean-Marc R.

le 14 avril 2023

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.

le 14 avril 2023

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.

le 14 avril 2023

Vincent G.

le 14 avril 2023

Les +
Le cours était complet, très pratique.

Gilles B.

le 14 avril 2023

Jean-Etienne S.

le 14 avril 2023

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.

le 14 avril 2023

Mouttou M.

le 14 avril 2023

Benjamin S.

le 14 avril 2023

Pierre-Louis C.

le 14 avril 2023

Sylvain C.

le 31 mars 2023

Maurice R.

le 31 mars 2023

Kévin T.

le 31 mars 2023

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.

le 31 mars 2023

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.

le 31 mars 2023

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.

le 31 mars 2023

Yann B.

le 31 mars 2023

Le formateur
J'ai trouver la prestation monotone

Vincent B.

le 31 mars 2023
Dernière modification le 21/03/2023