Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Programmation shell sous Unix/Linux - ksh, bash, norme POSIX (avec exercices corrigés) (7e édition)

Programmation shell sous Unix/Linux ksh, bash, norme POSIX (avec exercices corrigés) (7e édition)

2 avis

Informations

Livraison possible dès le 15 juillet 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-03802-0
  • EAN : 9782409038020
  • Ref. ENI : EI7PRO

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-03803-7
  • EAN : 9782409038037
  • Ref. ENI : LNEI7PRO
Ce livre de programmation shell s'adresse aux utilisateurs et administrateurs des systèmes Unix/Linux souhaitant se former à l'écriture de scripts shell. Les fonctionnalités des shells ksh88, ksh93 et bash sont détaillées, ainsi que les différences et la conformité à la norme POSIX. Les premiers chapitres traitent du fonctionnement du shell, tandis que la suite se concentre sur la programmation proprement dite, allant des bases de la programmation aux aspects avancés de la gestion des fichiers...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 540 pages
  • Parution décembre 2022
  • Niveau Confirmé à Expert
  • Parution décembre 2022
Ce livre sur la programmation shell s'adresse aux utilisateurs et administrateurs des systèmes Unix/Linux souhaitant se former à l'écriture de scripts shell. Les fonctionnalités des shells ksh88, ksh93 et bash sont détaillées et leurs différences signalées. Le cas échéant, la conformité à la norme POSIX est mentionnée. Il en sera de même pour la compatibilité avec le shell historique Bourne. Les thèmes sont présentés de manière progressive et pédagogique, ce qui fait de cet ouvrage un support idéal destiné aussi bien à la formation professionnelle qu'à l'autoformation.

Les premiers chapitres sont consacrés au fonctionnement du shell : lancement d'une commande, caractères spéciaux du shell couramment employés (redirections, tubes…), paramétrage de l'environnement de travail de l'utilisateur (variables et fichiers d'environnement…).

La suite de l'ouvrage est dédiée à la programmation proprement dite. Les bases de la programmation (variables, structures de contrôle, commandes de test et de calculs…) sont présentées et illustrées par de nombreux exemples. Sont ensuite détaillés les aspects avancés de la programmation shell (gestion des fichiers, fonctions…).

Les mécanismes internes du shell sont expliqués en détail et illustrés par de nombreux schémas.

La dernière partie de l'ouvrage traite des outils annexes indispensables au traitement de chaînes de caractères et de fichiers texte : les expressions régulières basiques et étendues, l'éditeur non interactif sed, un panorama étendu du langage awk enrichi de fonctionnalités gawk, ainsi que les principales commandes filtres des systèmes Unix. Le chapitre Comment faire résume les principales problématiques et présente différentes méthodes de résolution.

Des exercices permettront au lecteur de pratiquer l'écriture de scripts shell tout au long de l'ouvrage. Les solutions sont présentées dans le dernier chapitre. Les exemples de scripts présentés dans l'ouvrage, ainsi que les scripts solutions des exercices sont disponibles en téléchargement sur le site www.editions-eni.fr.

Téléchargements

Introduction
  1. 1. Définition du shell
  2. 2. Caractéristiques d'un interpréteur de commandes
  3. 3. Interpréteurs de commandes (shells)
    1. 3.1 Historique
    2. 3.2 Avec quel shell faut-il programmer ?
    3. 3.3 Nom des exécutables à invoquer
  4. 4. Shells abordés dans cet ouvrage
Mécanismes essentiels du shell
  1. 1. Présentation
  2. 2. Commandes internes et externes
    1. 2.1 Les commandes externes
    2. 2.2 Les commandes internes
    3. 2.3 Implémentation interne et implémentation externe
  3. 3. Affichage à l'écran
    1. 3.1 La commande echo
      1. 3.1.1 Le caractère \n
      2. 3.1.2 Le caractère \c
      3. 3.1.3 Le caractère \t
    2. 3.2 Les commandes print et printf
  4. 4. Le caractère ~ (tilde)
  5. 5. La commande interne cd
  6. 6. Substitution de noms de fichiers
    1. 6.1 Expressions basiques
      1. 6.1.1 Le caractère *
      2. 6.1.2 Le caractère ?
      3. 6.1.3 Les caractères [ ]
    2. 6.2 Expressions étendues
      1. 6.2.1 ? (expression)
      2. 6.2.2 *(expression)
      3. 6.2.3 +(expression)
      4. 6.2.4 @(expression)
      5. 6.2.5 !(expression)
      6. 6.2.6 Alternatives
    3. 6.3 Interprétation du shell
  7. 7. Séparateur de commandes
  8. 8. Redirections
    1. 8.1 Entrée et sorties standards des processus
      1. 8.1.1 Entrée standard
      2. 8.1.2 Sortie standard
      3. 8.1.3 Sortie d'erreur standard
    2. 8.2 Héritage
    3. 8.3 Redirection des sorties en écriture
      1. 8.3.1 Sortie standard
      2. 8.3.2 Sortie d'erreur standard
      3. 8.3.3 Sortie standard et sortie d'erreur standard
      4. 8.3.4 Se protéger d’un écrasement involontaire de fichier
      5. 8.3.5 Éliminer les affichages
      6. 8.3.6 Mécanisme interne
    4. 8.4 Redirection de l'entrée standard
    5. 8.5 Rediriger les descripteurs 1 et 2 vers le même fichier
    6. 8.6 La double redirection en lecture
    7. 8.7 Fermeture d'un descripteur
  9. 9. Tubes de communication
    1. 9.1 Commandes ne lisant pas leur entrée standard
    2. 9.2 Commandes lisant leur entrée standard
      1. 9.2.1 Exemples triviaux
      2. 9.2.2 Cas des filtres
    3. 9.3 Compléments
      1. 9.3.1 Enchaîner des tubes
      2. 9.3.2 Dupliquer les sorties
      3. 9.3.3 Envoyer la sortie standard et la sortie d'erreur standard dans le tube
  10. 10. Regroupement de commandes
    1. 10.1 Les parenthèses
    2. 10.2 Les accolades
    3. 10.3 Conclusion
  11. 11. Processus en arrière-plan
    1. 11.1 Principe
    2. 11.2 Contrôle de tâches (jobs)
  12. 12. Exercices
    1. 12.1 Fonctionnalités diverses
      1. 12.1.1 Exercice 1 : commandes internes et externes
      2. 12.1.2 Exercice 2 : génération de noms de fichiers
      3. 12.1.3 Exercice 3 : séparateur de commandes
    2. 12.2 Redirections
      1. 12.2.1 Exercice 1
      2. 12.2.2 Exercice 2
      3. 12.2.3 Exercice 3
      4. 12.2.4 Exercice 4
      5. 12.2.5 Exercice 5
      6. 12.2.6 Exercice 6
    3. 12.3 Tubes de communication
      1. 12.3.1 Exercice 1
      2. 12.3.2 Exercice 2
      3. 12.3.3 Exercice 3
      4. 12.3.4 Exercice 4
Paramétrage de l'environnement de travail
  1. 1. Présentation
  2. 2. Variables d'environnement
    1. 2.1 Liste des variables
    2. 2.2 Affichage de la valeur d'une variable
    3. 2.3 Modification de la valeur d'une variable
    4. 2.4 Principales variables
      1. 2.4.1 HOME
      2. 2.4.2 PATH
      3. 2.4.3 PWD
      4. 2.4.4 PS1
      5. 2.4.5 PS2
      6. 2.4.6 SHELL
      7. 2.4.7 TMOUT
      8. 2.4.8 TERM
      9. 2.4.9 LOGNAME
      10. 2.4.10 BASHOPTS
    5. 2.5 Processus et variables d'environnement
    6. 2.6 Exportation des variables du shell
      1. 2.6.1 Liste des variables exportées
      2. 2.6.2 Variables devant être exportées
      3. 2.6.3 Exporter une variable
  3. 3. Les options du shell
    1. 3.1 Activer et désactiver une option du shell
    2. 3.2 Visualiser la liste des options
    3. 3.3 Principales options
      1. 3.3.1 ignoreeof
      2. 3.3.2 noclobber
      3. 3.3.3 emacs et vi
      4. 3.3.4 xtrace
  4. 4. Les alias
    1. 4.1 Définir un alias
    2. 4.2 Visualiser la liste des alias
      1. 4.2.1 Visualiser tous les alias
      2. 4.2.2 Visualiser un alias en particulier
    3. 4.3 Supprimer un alias
  5. 5. Historique de commandes
    1. 5.1 Paramétrer le rappel de commandes en ksh
      1. 5.1.1 Option vi
      2. 5.1.2 Option emacs
    2. 5.2 Paramétrer le rappel de commandes en bash
    3. 5.3 La complétion de noms de fichiers
      1. 5.3.1 La complétion du bash
      2. 5.3.2 La complétion du ksh
      3. 5.3.3 Tableau récapitulatif
    4. 5.4 Autres complétions
  6. 6. Les fichiers d'environnement
    1. 6.1 Caractéristiques des fichiers d'environnement
      1. 6.1.1 Shell de connexion
      2. 6.1.2 Fichiers d'environnement lus par le shell de connexion
    2. 6.2 Session utilisant un Korn shell
    3. 6.3 Session utilisant un Bourne Again shell
    4. 6.4 Session utilisant un Bourne shell
  7. 7. Exercices
    1. 7.1 Variables d'environnement
      1. 7.1.1 Exercice 1
      2. 7.1.2 Exercice 2
    2. 7.2 Alias de commandes
      1. 7.2.1 Exercice 1
      2. 7.2.2 Exercice 2
Les bases de la programmation shell
  1. 1. Présentation
  2. 2. Les variables utilisateur
    1. 2.1 Nommer une variable
    2. 2.2 Définir une variable
      1. 2.2.1 Affecter une valeur à une variable
      2. 2.2.2 Affecter une valeur contenant au moins un espace
      3. 2.2.3 Variable indéfinie
      4. 2.2.4 Retirer la définition d'une variable
      5. 2.2.5 Isoler le nom d'une variable
      6. 2.2.6 Variables numériques
      7. 2.2.7 Variables complexes
      8. 2.2.8 Variables accessibles en lecture seule
    3. 2.3 Substitution de variables
  3. 3. Substitution de commandes
  4. 4. Caractères de protection
    1. 4.1 Les apostrophes (simples quotes)
    2. 4.2 Le caractère \
    3. 4.3 Les guillemets
  5. 5. Récapitulatif des caractères spéciaux
  6. 6. Interprétation d'une ligne de commande
  7. 7. Écriture et lancement d'un script shell
    1. 7.1 Définition
    2. 7.2 Exécution d'un script par un shell enfant
    3. 7.3 Exécution d'un script par le shell courant
    4. 7.4 Commentaires
  8. 8. Variables réservées du shell
    1. 8.1 Les paramètres positionnels
    2. 8.2 La commande shift
      1. 8.2.1 Syntaxe
      2. 8.2.2 Principe
    3. 8.3 Code de retour d'une commande
      1. 8.3.1 La variable $ ?
      2. 8.3.2 La commande exit
    4. 8.4 Autres variables spéciales
      1. 8.4.1 PID du shell interpréteur
      2. 8.4.2 PID du dernier processus lancé en arrière-plan
  9. 9. La commande read
    1. 9.1 Syntaxe
    2. 9.2 Lectures au clavier
    3. 9.3 Code de retour
    4. 9.4 La variable IFS
  10. 10. Exécution de tests
    1. 10.1 Introduction
    2. 10.2 La commande [[ ]]
      1. 10.2.1 Syntaxes
      2. 10.2.2 Tests sur les fichiers
      3. 10.2.3 Tests sur les chaînes de caractères
      4. 10.2.4 Tests numériques
      5. 10.2.5 Les opérateurs
      6. 10.2.6 Exemple concret d'utilisation
    3. 10.3 La commande [ ] (commande test)
      1. 10.3.1 Syntaxe
      2. 10.3.2 Tests sur les fichiers
      3. 10.3.3 Tests sur les chaînes de caractères
      4. 10.3.4 Tests sur les nombres
      5. 10.3.5 Les opérateurs logiques
      6. 10.3.6 Exemple concret d'utilisation
  11. 11. Les opérateurs du shell
    1. 11.1 Évaluation de l'opérateur &&
    2. 11.2 Évaluation de l'opérateur ||
    3. 11.3 Inverser le code de retour d’une commande
  12. 12. L'arithmétique
    1. 12.1 La commande (( ))
      1. 12.1.1 Syntaxe
      2. 12.1.2 Opérateurs
    2. 12.2 La commande let
    3. 12.3 La commande expr
      1. 12.3.1 Syntaxe
      2. 12.3.2 Opérateurs
  13. 13. Substitution d'expressions arithmétiques
  14. 14. Arithmétique sur les flottants
    1. 14.1 ksh93
    2. 14.2 Autres shells
  15. 15. Mise au point d'un script
    1. 15.1 Option -x
    2. 15.2 Autres options
  16. 16. Les structures de contrôle
    1. 16.1 if
    2. 16.2 case
      1. 16.2.1 Syntaxe
      2. 16.2.2 Principe
      3. 16.2.3 Utilisation
    3. 16.3 Boucle for
      1. 16.3.1 Syntaxe classique
      2. 16.3.2 Autre syntaxe
    4. 16.4 Boucle while
      1. 16.4.1 Syntaxe
      2. 16.4.2 Utilisation
      3. 16.4.3 Boucle infinie
    5. 16.5 until
      1. 16.5.1 Syntaxe
      2. 16.5.2 Utilisation
    6. 16.6 break et continue
  17. 17. Exercices
    1. 17.1 Variables, caractères spéciaux
      1. 17.1.1 Exercice 1 : variables
      2. 17.1.2 Exercice 2 : variables
      3. 17.1.3 Exercice 3 : substitution de commande
      4. 17.1.4 Exercice 4 : caractères de protection
    2. 17.2 Variables, affichages et lectures clavier
      1. 17.2.1 Exercice 1 : variables
      2. 17.2.2 Exercice 2 : paramètres positionnels
      3. 17.2.3 Exercice 3 : lectures clavier
    3. 17.3 Tests et arithmétique
      1. 17.3.1 Exercice 1 : tests sur des fichiers
      2. 17.3.2 Exercice 2 : tests de chaînes de caractères
      3. 17.3.3 Exercice 3 : tests numériques
      4. 17.3.4 Exercice 4 : arithmétique
      5. 17.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
    4. 17.4 Structures de contrôle if, case, boucle for
      1. 17.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
      2. 17.4.2 Exercice 2 : structures de contrôle case, boucle for
    5. 17.5 Boucles
      1. 17.5.1 Exercice 1 : boucle for, commande tr
      2. 17.5.2 Exercice 2 : boucle for, arithmétique
      3. 17.5.3 Exercice 3 : boucles for, while
Aspects avancés de la programmation shell
  1. 1. Présentation
  2. 2. Comparatif des variables $ * et $ @
    1. 2.1 Utilisation de $ * et de $ @ sans guillemets
    2. 2.2 Utilisation de " $ *" entre guillemets
    3. 2.3 Utilisation de " $ @" entre guillemets
  3. 3. Manipulation de variables
    1. 3.1 Longueur de la valeur contenue dans une variable
    2. 3.2 Retirer le plus petit fragment en début de chaîne
    3. 3.3 Retirer le plus grand fragment en début de chaîne
    4. 3.4 Retirer le plus petit fragment en fin de chaîne
    5. 3.5 Retirer le plus grand fragment en fin de chaîne
  4. 4. Tableaux indicés numériquement
    1. 4.1 Définition et initialisation d’un tableau
    2. 4.2 Assigner un élément de tableau
    3. 4.3 Valeur d’un élément
    4. 4.4 Référencer tous les éléments d'un tableau
    5. 4.5 Obtenir le nombre d'éléments d'un tableau
    6. 4.6 Obtenir la longueur d'un élément d'un tableau
    7. 4.7 Parcourir un tableau indicé numériquement
  5. 5. Tableaux associatifs
    1. 5.1 Définition et initialisation d’un tableau associatif
    2. 5.2 Afficher la valeur associée à une clé
    3. 5.3 Afficher la liste des clés
    4. 5.4 Afficher la liste des valeurs
    5. 5.5 Boucler sur un tableau associatif
  6. 6. Initialisation des paramètres positionnels avec set
  7. 7. Les fonctions
    1. 7.1 Définition d'une fonction
    2. 7.2 Code de retour d'une fonction
    3. 7.3 Portée des variables
    4. 7.4 Définition de variables locales
    5. 7.5 Passage d'arguments
    6. 7.6 Variable référence
    7. 7.7 Exploiter l'affichage d'une fonction
  8. 8. Commandes d'affichage
    1. 8.1 La commande print
      1. 8.1.1 Utilisation simple
      2. 8.1.2 Suppression du saut de ligne naturel de print
      3. 8.1.3 Afficher des arguments commençant par le caractère "-"
      4. 8.1.4 Écrire sur un descripteur particulier
    2. 8.2 La commande printf
  9. 9. Gestion des entrées/sorties d'un script
    1. 9.1 Redirection des entrées/sorties standards
    2. 9.2 Gestion de fichiers
      1. 9.2.1 Descripteurs de fichiers
      2. 9.2.2 Ouverture de fichier
      3. 9.2.3 Lecture à partir d'un fichier ouvert
      4. 9.2.4 Écriture dans un fichier ouvert
      5. 9.2.5 Fermeture d'un fichier
    3. 9.3 Traitement d'un fichier
      1. 9.3.1 Informations préalables
      2. 9.3.2 Les différentes façons d'exploiter un fichier
      3. 9.3.3 Découper une ligne en champs
      4. 9.3.4 Lire plusieurs lignes avec un appel à read
      5. 9.3.5 Modifier le séparateur de ligne
  10. 10. La commande eval
  11. 11. Gestion des signaux
    1. 11.1 Principaux signaux
    2. 11.2 Ignorer un signal
    3. 11.3 Modifier le traitement associé à un signal
    4. 11.4 Repositionner le traitement par défaut du shell vis-à-vis d'un signal
    5. 11.5 Utiliser trap à partir d'un script shell
  12. 12. Gestion de menus avec select
  13. 13. Analyse des options d'un script avec getopts
  14. 14. Gestion d'un processus en arrière-plan
  15. 15. Compatibilité d’un script entre bash et ksh
    1. 15.1 Récupérer le nom du shell interpréteur du script
    2. 15.2 Gestion des séquences d’échappement avec echo
    3. 15.3 Gestion des caractères étendus
    4. 15.4 Script complet
  16. 16. Script d'archivage incrémental et transfert SFTP automatique
    1. 16.1 Objectif
    2. 16.2 Le fichier uploadBackup.sh
    3. 16.3 Le fichier fonctions.inc.sh
  17. 17. Exercices
    1. 17.1 Fonctions
      1. 17.1.1 Exercice 1 : fonctions simples
      2. 17.1.2 Exercice 2 : fonctions simples, statut de retour
      3. 17.1.3 Exercice 3 : passage de paramètres, retour de valeur
      4. 17.1.4 Exercice 4 : fichiers
      5. 17.1.5 Exercice 5 : fichiers, fonctions, menu select
      6. 17.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
Les expressions régulières
  1. 1. Présentation
  2. 2. Caractères communs aux ERb et ERe
  3. 3. Caractères spécifiques aux ERb
  4. 4. Caractères spécifiques aux ERe
  5. 5. Exploitation des expressions régulières par les commandes
    1. 5.1 La commande vi
    2. 5.2 La commande grep
    3. 5.3 La commande expr
    4. 5.4 sed et awk
  6. 6. Exercices
    1. 6.1 Expressions régulières
      1. 6.1.1 Exercice 1 : expressions régulières avec vi
      2. 6.1.2 Exercice 2 : grep
La commande sed
  1. 1. Présentation
  2. 2. Utilisation de la commande sed
  3. 3. Exemples
    1. 3.1 Utilisation de sed en ligne de commande
      1. 3.1.1 La commande d (delete)
      2. 3.1.2 La commande p (print)
      3. 3.1.3 La commande w (write)
      4. 3.1.4 Négation d'une commande (!)
      5. 3.1.5 La commande s (substitution)
    2. 3.2 Script sed
  4. 4. Exercices
    1. 4.1 Expressions régulières
      1. 4.1.1 Exercice 1 : insertion de balises dans un fichier
      2. 4.1.2 Exercice 2 : formatage de fichier
Le langage de programmation awk
  1. 1. Présentation
    1. 1.1 Syntaxe
    2. 1.2 Version de gawk
    3. 1.3 Variables spéciales
      1. 1.3.1 Variables prédéfinies dès le lancement de awk
      2. 1.3.2 Variables initialisées lors du traitement d'une ligne
      3. 1.3.3 Exemples simples
    4. 1.4 Critères de sélection
      1. 1.4.1 Expressions régulières
      2. 1.4.2 Tests logiques
      3. 1.4.3 Intervalles de lignes
    5. 1.5 Structure d'un script awk
      1. 1.5.1 BEGIN
      2. 1.5.2 Sections intermédiaires
      3. 1.5.3 END
      4. 1.5.4 Commentaires
      5. 1.5.5 Variables
      6. 1.5.6 Exemple
  2. 2. Opérateurs
  3. 3. La fonction printf
  4. 4. Redirections
  5. 5. Lecture de la ligne suivante : next
  6. 6. Structures de contrôle
    1. 6.1 if
    2. 6.2 switch
    3. 6.3 for
    4. 6.4 while
    5. 6.5 do-while
    6. 6.6 break
    7. 6.7 continue
  7. 7. Terminer un script
  8. 8. Tableaux
    1. 8.1 Tableaux indicés par un nombre
    2. 8.2 Tableaux indicés par une chaîne de caractères
    3. 8.3 Tester l'existence d'un élément
    4. 8.4 Supprimer un élément
    5. 8.5 Nombre d'éléments d'un tableau
    6. 8.6 Ordre de parcours des éléments
    7. 8.7 Trier un tableau
  9. 9. Tableaux multidimensionnels
    1. 9.1 Simulation de tableaux multidimensionnels
    2. 9.2 Vrais tableaux multidimensionnels
    3. 9.3 Tester si une variable est un tableau
  10. 10. Les arguments de la ligne de commande
  11. 11. Fonctions intégrées
    1. 11.1 Fonctions travaillant sur les chaînes
    2. 11.2 Fonctions mathématiques
    3. 11.3 Fonctions liées aux tableaux
    4. 11.4 Autres fonctions
      1. 11.4.1 La fonction getline
      2. 11.4.2 La fonction close
      3. 11.4.3 La fonction system
  12. 12. Fonctions utilisateur
  13. 13. Inclusions de fichiers
  14. 14. Exercices
    1. 14.1 awk en ligne de commande
      1. 14.1.1 Exercice 1 : awk et autres filtres
      2. 14.1.2 Exercice 2 : critères de sélection
      3. 14.1.3 Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
    2. 14.2 Scripts awk
      1. 14.2.1 Exercice 4 : fonctions
      2. 14.2.2 Exercice 5 : analyse d'un fichier de log
      3. 14.2.3 Exercice 6 : génération d'un fichier d'étiquettes
Les commandes filtres
  1. 1. Présentation
  2. 2. Syntaxe d'appel des commandes filtres
  3. 3. Visualisation de données
    1. 3.1 Consultation de données, création de fichiers : cat
    2. 3.2 Valeur des octets d'un flux de données : od
    3. 3.3 Filtrage de lignes : grep
    4. 3.4 Dernières lignes d'un flux de données : tail
    5. 3.5 Premières lignes d'un flux de données : head
    6. 3.6 Duplication de la sortie standard : tee
    7. 3.7 Numérotation de lignes : nl
    8. 3.8 Présentation d'un flux de données : pr
  4. 4. Traitement de données
    1. 4.1 Comptage de lignes, de mots et de caractères : wc
    2. 4.2 Extraction de caractères : cut
    3. 4.3 Tri de données : sort
    4. 4.4 paste
    5. 4.5 split
    6. 4.6 Transformation de caractères : tr
    7. 4.7 Dédoublonnage : uniq
  5. 5. Compressions, archivages et conversions
    1. 5.1 Compressions : gzip, bzip2
    2. 5.2 Archives tar
    3. 5.3 Archives cpio
    4. 5.4 Copie physique, transformations : dd
    5. 5.5 Changement d'encodage : iconv
  6. 6. Commandes réseau sécurisées
    1. 6.1 Connexion à distance : ssh
    2. 6.2 Transfert de fichier : sftp
      1. 6.2.1 Commandes de sftp s'exécutant sur la machine locale
      2. 6.2.2 Commandes s'exécutant sur la machine distante
      3. 6.2.3 Commandes de transfert
      4. 6.2.4 Connexion automatique sans mot de passe
  7. 7. Autres commandes
    1. 7.1 La commande xargs
    2. 7.2 Comparer deux fichiers : cmp
    3. 7.3 Lignes communes à deux fichiers : comm
Comment faire... (synthèse)
  1. 1. Présentation
  2. 2. Informations
  3. 3. Modèles de noms de fichiers
  4. 4. Tester le code retour d'une commande
  5. 5. Test d'égalité entre deux chaînes
  6. 6. Test d'inégalité entre deux chaînes
  7. 7. Correspondance d'une variable par rapport à un modèle
  8. 8. Non-correspondance d'une variable par rapport à un modèle
  9. 9. Retirer le début ou la fin d'une chaîne
  10. 10. Calculer la longueur d'une chaîne
  11. 11. Récupérer le champ d'une ligne
  12. 12. Ne pas afficher certaines lignes d'un flux
  13. 13. Tests numériques
  14. 14. Calculs
  15. 15. Lancer un script d'un autre langage à partir d'un shell
  16. 16. Accéder à une base MySQL à partir d'un shell
Compléments sur les mécanismes internes du shell
  1. 1. Présentation
  2. 2. Redirection des descripteurs 1 et 2 vers le même fichier
  3. 3. Regroupement de commandes avec les parenthèses
  4. 4. Regroupement de commandes avec les accolades
  5. 5. Interprétation d’un script par un shell enfant
Annexes
  1. 1. Caractères spéciaux du shell
  2. 2. Commandes internes au shell
  3. 3. Classes de caractères POSIX
  4. 4. Ordre d'interprétation d'une commande
Solutions des exercices
  1. 1. Solutions du chapitre Mécanismes essentiels du shell
    1. 1.1 Fonctionnalités diverses
      1. 1.1.1 Exercice 1 : commandes internes et externes
      2. 1.1.2 Exercice 2 : génération de noms de fichiers
      3. 1.1.3 Exercice 3 : séparateur de commandes
    2. 1.2 Redirections
      1. 1.2.1 Exercice 1
      2. 1.2.2 Exercice 2
      3. 1.2.3 Exercice 3
      4. 1.2.4 Exercice 4
      5. 1.2.5 Exercice 5
      6. 1.2.6 Exercice 6
    3. 1.3 Tubes de communication
      1. 1.3.1 Exercice 1
      2. 1.3.2 Exercice 2
      3. 1.3.3 Exercice 3
      4. 1.3.4 Exercice 4
  2. 2. Solutions du chapitre Paramétrage de l'environnement de travail
    1. 2.1 Variables d'environnement
      1. 2.1.1 Exercice 1
      2. 2.1.2 Exercice 2
    2. 2.2 Alias de commandes
      1. 2.2.1 Exercice 1
      2. 2.2.2 Exercice 2
  3. 3. Solutions du chapitre Les bases de la programmation shell
    1. 3.1 Variables, caractères spéciaux
      1. 3.1.1 Exercice 1 : variables
      2. 3.1.2 Exercice 2 : variables
      3. 3.1.3 Exercice 3 : substitution de commande
      4. 3.1.4 Exercice 4 : caractères de protection
    2. 3.2 Variables, affichages et lectures clavier
      1. 3.2.1 Exercice 1 : variables
      2. 3.2.2 Exercice 2 : paramètres positionnels
      3. 3.2.3 Exercice 3 : lectures clavier
    3. 3.3 Tests et arithmétique
      1. 3.3.1 Exercice 1 : tests sur des fichiers
      2. 3.3.2 Exercice 2 : tests de chaînes de caractères
      3. 3.3.3 Exercice 3 : tests numériques
      4. 3.3.4 Exercice 4 : arithmétique
      5. 3.3.5 Exercice 5 : opérateurs logiques des commandes [ ] et [[ ]] et opérateurs logiques du shell
    4. 3.4 Structures de contrôle if, case, boucle for
      1. 3.4.1 Exercice 1 : les commandes [ ] et [[ ]], la structure de contrôle if
      2. 3.4.2 Exercice 2 : structures de contrôle case, boucle for
    5. 3.5 Boucles
      1. 3.5.1 Exercice 1 : boucle for, commande tr
      2. 3.5.2 Exercice 2 : boucle for, arithmétique
      3. 3.5.3 Exercice 3 : boucles for, while
  4. 4. Solutions du chapitre Aspects avancés de la programmation shell
    1. 4.1 Fonctions
      1. 4.1.1 Exercice 1 : fonctions simples
      2. 4.1.2 Exercice 2 : fonctions simples, statut de retour
      3. 4.1.3 Exercice 3 : passage de paramètres, retour de valeur
      4. 4.1.4 Exercice 4 : fichiers
      5. 4.1.5 Exercice 5 : fichiers, fonctions, menu select
      6. 4.1.6 Exercice 6 : fichiers, tableaux associatifs (bash 4, ksh93)
  5. 5. Solutions du chapitre Les expressions régulières
    1. 5.1 Expressions régulières
      1. 5.1.1 Exercice 1 : expressions régulières avec vi
      2. 5.1.2 Exercice 2 : grep
  6. 6. Solutions du chapitre La commande sed
    1. 6.1 Expressions régulières
      1. 6.1.1 Exercice 1 : insertion de balises dans un fichier
      2. 6.1.2 Exercice 2 : formatage de fichier
  7. 7. Solution du chapitre Le langage de programmation awk
    1. 7.1 awk en ligne de commande
      1. 7.1.1 Exercice 1 : awk et autres filtres
      2. 7.1.2 Exercice 2 : critères de sélection
      3. 7.1.3 Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
    2. 7.2 Scripts awk
      1. 7.2.1 Exercice 4 : fonctions
      2. 7.2.2 Exercice 5 : analyse d'un fichier de log
      3. 7.2.3 Exercice 6 : génération d'un fichier d'étiquettes
      4. Index
5/5 2 avis

Parfait

elie d

Rien à signaler

Danguy Serge C
Auteur : Christine DEFFAIX RÉMY

Christine DEFFAIX RÉMY

Ingénieure informatique au sein de la société Ociensa Technologies, spécialiste en développement informatique notamment dans les environnements Unix et Linux, Christine Deffaix Rémy intervient sur des missions de développement et de formation auprès de grands comptes. Sa solide expérience s'allie à ses qualités pédagogiques pour fournir au lecteur un ouvrage réellement efficace sur l'apprentissage de l'écriture de scripts shell.
En savoir plus

Nos nouveautés

voir plus